MCPcopy Index your code
hub / github.com/RustPython/RustPython / to_reader

Method to_reader

crates/stdlib/src/csv.rs:761–836  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

759 delimiter
760 }
761 fn to_reader(&self) -> csv_core::Reader {
762 let mut builder = csv_core::ReaderBuilder::new();
763 let mut reader = match &self.dialect {
764 DialectItem::Str(name) => {
765 let g = GLOBAL_HASHMAP.lock();
766 if let Some(dialect) = g.get(name) {
767 let mut builder = builder
768 .delimiter(dialect.delimiter)
769 .double_quote(dialect.doublequote);
770 if let Some(t) = dialect.quotechar {
771 builder = builder.quote(t);
772 }
773 builder
774 // RustPython todo
775 // todo! Perfecting the remaining attributes.
776 } else {
777 &mut builder
778 }
779 }
780 DialectItem::Obj(obj) => {
781 let mut builder = builder
782 .delimiter(obj.delimiter)
783 .double_quote(obj.doublequote);
784 if let Some(t) = obj.quotechar {
785 builder = builder.quote(t);
786 }
787 builder
788 }
789 _ => {
790 let name = "excel";
791 let g = GLOBAL_HASHMAP.lock();
792 let dialect = g.get(name).unwrap();
793 let mut builder = builder
794 .delimiter(dialect.delimiter)
795 .double_quote(dialect.doublequote);
796 if let Some(quotechar) = dialect.quotechar {
797 builder = builder.quote(quotechar);
798 }
799 builder
800 }
801 };
802
803 if let Some(t) = self.delimiter {
804 reader = reader.delimiter(t);
805 }
806 if let Some(t) = self.quotechar {
807 if let Some(u) = t {
808 reader = reader.quote(u);
809 } else {
810 reader = reader.quoting(false);
811 }
812 } else {
813 match self.quoting {
814 Some(QuoteStyle::None) => {
815 reader = reader.quoting(false);
816 }
817 // None => reader = reader.quoting(true),
818 _ => reader = reader.quoting(true),

Callers 1

readerFunction · 0.80

Calls 9

newFunction · 0.85
delimiterMethod · 0.80
quoteMethod · 0.80
quotingMethod · 0.80
escapeMethod · 0.80
lockMethod · 0.45
getMethod · 0.45
unwrapMethod · 0.45
buildMethod · 0.45

Tested by

no test coverage detected