public static object get_dialect(CodeContext /*!*/ context, string name) { DialectRegistry dialects = GetDialects(context); if (name == null || !dialects.ContainsKey(name)) { throw MakeError("unknown dialect"); } return(dialects[name]); }
public static object reader(CodeContext /*!*/ context, [ParamDictionary] IDictionary <object, object> kwArgs, params object[] args) { object dialectObj = null; Dialect dialect = null; IEnumerator e = null; DialectRegistry dialects = GetDialects(context); if (args.Length < 1) { throw PythonOps.TypeError( "expected at least 1 arguments, got {0}", args.Length); } if (args.Length > 2) { throw PythonOps.TypeError( "expected at most 2 arguments, got {0}", args.Length); } if (!PythonOps.TryGetEnumerator(context, args[0], out e)) { throw PythonOps.TypeError("argument 1 must be an iterator"); } if (args.Length > 1) { dialectObj = args[1]; } if (dialectObj is string && !dialects.ContainsKey((string)dialectObj)) { throw MakeError("unknown dialect"); } else if (dialectObj is string) { dialect = dialects[(string)dialectObj]; dialectObj = dialect; } dialect = dialectObj != null? Dialect.Create(context, kwArgs, dialectObj) : Dialect.Create(context, kwArgs); return(new Reader(context, e, dialect)); }
public static void unregister_dialect(CodeContext /*!*/ context, string name) { DialectRegistry dialects = GetDialects(context); if (name == null || !dialects.ContainsKey(name)) { throw MakeError("unknown dialect"); } if (dialects.ContainsKey(name)) { dialects.Remove(name); } }
public static Dialect Create(CodeContext /*!*/ context, [ParamDictionary] IDictionary <object, object> kwArgs, params object[] args) { object dialect = null; object delimiter = null; object doublequote = null; object escapechar = null; object lineterminator = null; object quotechar = null; object quoting = null; object skipinitialspace = null; object strict = null; DialectRegistry dialects = GetDialects(context); if (args.Length > 0 && args[0] != null) { dialect = args[0]; } if (dialect == null) { kwArgs.TryGetValue("dialect", out dialect); } kwArgs.TryGetValue("delimiter", out delimiter); kwArgs.TryGetValue("doublequote", out doublequote); kwArgs.TryGetValue("escapechar", out escapechar); kwArgs.TryGetValue("lineterminator", out lineterminator); kwArgs.TryGetValue("quotechar", out quotechar); kwArgs.TryGetValue("quoting", out quoting); kwArgs.TryGetValue("skipinitialspace", out skipinitialspace); kwArgs.TryGetValue("strict", out strict); if (dialect != null) { if (dialect is string) { string dialectName = (string)dialect; if (dialects.ContainsKey(dialectName)) { return(dialects[dialectName]); } else { throw MakeError("unknown dialect"); } } else if (dialect is Dialect && delimiter == null && doublequote == null && escapechar == null && lineterminator == null && quotechar == null && quoting == null && skipinitialspace == null && strict == null) { return(dialect as Dialect); } } Dialect result = dialect != null ? new Dialect(context, kwArgs, dialect) : new Dialect(context, kwArgs); return(result); }