Compare commits
	
		
			2 Commits
		
	
	
		
			a23f7b89e6
			...
			bda40b1935
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | bda40b1935 | ||
|   | 3ba116c7fa | 
							
								
								
									
										6
									
								
								.flake8
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.flake8
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | |||||||
|  | [flake8] | ||||||
|  | ignore = E111,I001,I004,I003,E265,E114,E501,I005 | ||||||
|  | exclude = .git,__pycache__ | ||||||
|  | max-line-length = 160 | ||||||
|  | use-flake8-tabs = true | ||||||
|  | tab-width = 2 | ||||||
							
								
								
									
										491
									
								
								.pylintrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										491
									
								
								.pylintrc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,491 @@ | |||||||
|  | [MASTER] | ||||||
|  | 
 | ||||||
|  | # A comma-separated list of package or module names from where C extensions may | ||||||
|  | # be loaded. Extensions are loading into the active Python interpreter and may | ||||||
|  | # run arbitrary code. | ||||||
|  | extension-pkg-whitelist= | ||||||
|  | 
 | ||||||
|  | # Add files or directories to the blacklist. They should be base names, not | ||||||
|  | # paths. | ||||||
|  | ignore=CVS | ||||||
|  | 
 | ||||||
|  | # Add files or directories matching the regex patterns to the blacklist. The | ||||||
|  | # regex matches against base names, not paths. | ||||||
|  | ignore-patterns= | ||||||
|  | 
 | ||||||
|  | # Python code to execute, usually for sys.path manipulation such as | ||||||
|  | # pygtk.require(). | ||||||
|  | #init-hook= | ||||||
|  | 
 | ||||||
|  | # Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the | ||||||
|  | # number of processors available to use. | ||||||
|  | jobs=1 | ||||||
|  | 
 | ||||||
|  | # Control the amount of potential inferred values when inferring a single | ||||||
|  | # object. This can help the performance when dealing with large functions or | ||||||
|  | # complex, nested conditions. | ||||||
|  | limit-inference-results=100 | ||||||
|  | 
 | ||||||
|  | # List of plugins (as comma separated values of python modules names) to load, | ||||||
|  | # usually to register additional checkers. | ||||||
|  | load-plugins= | ||||||
|  | 
 | ||||||
|  | # Pickle collected data for later comparisons. | ||||||
|  | persistent=yes | ||||||
|  | 
 | ||||||
|  | # Specify a configuration file. | ||||||
|  | #rcfile= | ||||||
|  | 
 | ||||||
|  | # When enabled, pylint would attempt to guess common misconfiguration and emit | ||||||
|  | # user-friendly hints instead of false-positive error messages. | ||||||
|  | suggestion-mode=yes | ||||||
|  | 
 | ||||||
|  | # Allow loading of arbitrary C extensions. Extensions are imported into the | ||||||
|  | # active Python interpreter and may run arbitrary code. | ||||||
|  | unsafe-load-any-extension=no | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [MESSAGES CONTROL] | ||||||
|  | 
 | ||||||
|  | # Only show warnings with the listed confidence levels. Leave empty to show | ||||||
|  | # all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED. | ||||||
|  | confidence= | ||||||
|  | 
 | ||||||
|  | # Disable the message, report, category or checker with the given id(s). You | ||||||
|  | # can either give multiple identifiers separated by comma (,) or put this | ||||||
|  | # option multiple times (only on the command line, not in the configuration | ||||||
|  | # file where it should appear only once). You can also use "--disable=all" to | ||||||
|  | # disable everything first and then reenable specific checks. For example, if | ||||||
|  | # you want to run only the similarities checker, you can use "--disable=all | ||||||
|  | # --enable=similarities". If you want to run only the classes checker, but have | ||||||
|  | # no Warning level messages displayed, use "--disable=all --enable=classes | ||||||
|  | # --disable=W". | ||||||
|  | disable=missing-module-docstring, | ||||||
|  |         missing-class-docstring, | ||||||
|  |         missing-function-docstring, | ||||||
|  |         broad-except, | ||||||
|  |         logging-fstring-interpolation, | ||||||
|  |         wrong-import-order | ||||||
|  | 
 | ||||||
|  | # Enable the message, report, category or checker with the given id(s). You can | ||||||
|  | # either give multiple identifier separated by comma (,) or put this option | ||||||
|  | # multiple time (only on the command line, not in the configuration file where | ||||||
|  | # it should appear only once). See also the "--disable" option for examples. | ||||||
|  | enable=c-extension-no-member | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [REPORTS] | ||||||
|  | 
 | ||||||
|  | # Python expression which should return a note less than 10 (10 is the highest | ||||||
|  | # note). You have access to the variables errors warning, statement which | ||||||
|  | # respectively contain the number of errors / warnings messages and the total | ||||||
|  | # number of statements analyzed. This is used by the global evaluation report | ||||||
|  | # (RP0004). | ||||||
|  | evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) | ||||||
|  | 
 | ||||||
|  | # snmp used to display messages. This is a python new-style format string | ||||||
|  | # used to format the message information. See doc for all details. | ||||||
|  | #msg-snmp= | ||||||
|  | 
 | ||||||
|  | # Set the output format. Available formats are text, parseable, colorized, json | ||||||
|  | # and msvs (visual studio). You can also give a reporter class, e.g. | ||||||
|  | # mypackage.mymodule.MyReporterClass. | ||||||
|  | output-format=text | ||||||
|  | 
 | ||||||
|  | # Tells whether to display a full report or only the messages. | ||||||
|  | reports=no | ||||||
|  | 
 | ||||||
|  | # Activate the evaluation score. | ||||||
|  | score=yes | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [REFACTORING] | ||||||
|  | 
 | ||||||
|  | # Maximum number of nested blocks for function / method body | ||||||
|  | max-nested-blocks=5 | ||||||
|  | 
 | ||||||
|  | # Complete name of functions that never returns. When checking for | ||||||
|  | # inconsistent-return-statements if a never returning function is called then | ||||||
|  | # it will be considered as an explicit return statement and no message will be | ||||||
|  | # printed. | ||||||
|  | never-returning-functions=sys.exit | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [SIMILARITIES] | ||||||
|  | 
 | ||||||
|  | # Ignore comments when computing similarities. | ||||||
|  | ignore-comments=yes | ||||||
|  | 
 | ||||||
|  | # Ignore docstrings when computing similarities. | ||||||
|  | ignore-docstrings=yes | ||||||
|  | 
 | ||||||
|  | # Ignore imports when computing similarities. | ||||||
|  | ignore-imports=no | ||||||
|  | 
 | ||||||
|  | # Minimum lines number of a similarity. | ||||||
|  | min-similarity-lines=4 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [MISCELLANEOUS] | ||||||
|  | 
 | ||||||
|  | # List of note tags to take in consideration, separated by a comma. | ||||||
|  | notes=FIXME, | ||||||
|  |       XXX, | ||||||
|  |       TODO | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [SPELLING] | ||||||
|  | 
 | ||||||
|  | # Limits count of emitted suggestions for spelling mistakes. | ||||||
|  | max-spelling-suggestions=4 | ||||||
|  | 
 | ||||||
|  | # Spelling dictionary name. Available dictionaries: none. To make it working | ||||||
|  | # install python-enchant package.. | ||||||
|  | spelling-dict= | ||||||
|  | 
 | ||||||
|  | # List of comma separated words that should not be checked. | ||||||
|  | spelling-ignore-words= | ||||||
|  | 
 | ||||||
|  | # A path to a file that contains private dictionary; one word per line. | ||||||
|  | spelling-private-dict-file= | ||||||
|  | 
 | ||||||
|  | # Tells whether to store unknown words to indicated private dictionary in | ||||||
|  | # --spelling-private-dict-file option instead of raising a message. | ||||||
|  | spelling-store-unknown-words=no | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [STRING] | ||||||
|  | 
 | ||||||
|  | # This flag controls whether the implicit-str-concat-in-sequence should | ||||||
|  | # generate a warning on implicit string concatenation in sequences defined over | ||||||
|  | # several lines. | ||||||
|  | check-str-concat-over-line-jumps=no | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [LOGGING] | ||||||
|  | 
 | ||||||
|  | # Format style used to check logging format string. `old` means using % | ||||||
|  | # formatting, while `new` is for `{}` formatting. | ||||||
|  | logging-format-style=old | ||||||
|  | 
 | ||||||
|  | # Logging modules to check that the string format arguments are in logging | ||||||
|  | # function parameter format. | ||||||
|  | logging-modules= | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [BASIC] | ||||||
|  | 
 | ||||||
|  | # Naming style matching correct argument names. | ||||||
|  | argument-naming-style=snake_case | ||||||
|  | 
 | ||||||
|  | # Regular expression matching correct argument names. Overrides argument- | ||||||
|  | # naming-style. | ||||||
|  | #argument-rgx= | ||||||
|  | 
 | ||||||
|  | # Naming style matching correct attribute names. | ||||||
|  | attr-naming-style=snake_case | ||||||
|  | 
 | ||||||
|  | # Regular expression matching correct attribute names. Overrides attr-naming- | ||||||
|  | # style. | ||||||
|  | #attr-rgx= | ||||||
|  | 
 | ||||||
|  | # Bad variable names which should always be refused, separated by a comma. | ||||||
|  | bad-names=foo, | ||||||
|  |           bar, | ||||||
|  |           baz, | ||||||
|  |           toto, | ||||||
|  |           tutu, | ||||||
|  |           tata | ||||||
|  | 
 | ||||||
|  | # Naming style matching correct class attribute names. | ||||||
|  | class-attribute-naming-style=any | ||||||
|  | 
 | ||||||
|  | # Regular expression matching correct class attribute names. Overrides class- | ||||||
|  | # attribute-naming-style. | ||||||
|  | #class-attribute-rgx= | ||||||
|  | 
 | ||||||
|  | # Naming style matching correct class names. | ||||||
|  | class-naming-style=PascalCase | ||||||
|  | 
 | ||||||
|  | # Regular expression matching correct class names. Overrides class-naming- | ||||||
|  | # style. | ||||||
|  | #class-rgx= | ||||||
|  | 
 | ||||||
|  | # Naming style matching correct constant names. | ||||||
|  | const-naming-style=UPPER_CASE | ||||||
|  | 
 | ||||||
|  | # Regular expression matching correct constant names. Overrides const-naming- | ||||||
|  | # style. | ||||||
|  | #const-rgx= | ||||||
|  | 
 | ||||||
|  | # Minimum line length for functions/classes that require docstrings, shorter | ||||||
|  | # ones are exempt. | ||||||
|  | docstring-min-length=-1 | ||||||
|  | 
 | ||||||
|  | # Naming style matching correct function names. | ||||||
|  | function-naming-style=snake_case | ||||||
|  | 
 | ||||||
|  | # Regular expression matching correct function names. Overrides function- | ||||||
|  | # naming-style. | ||||||
|  | #function-rgx= | ||||||
|  | 
 | ||||||
|  | # Good variable names which should always be accepted, separated by a comma. | ||||||
|  | good-names=i, | ||||||
|  |            j, | ||||||
|  |            k, | ||||||
|  |            ex, | ||||||
|  |            e, | ||||||
|  |            Run, | ||||||
|  |            _ | ||||||
|  | 
 | ||||||
|  | # Include a hint for the correct naming format with invalid-name. | ||||||
|  | include-naming-hint=no | ||||||
|  | 
 | ||||||
|  | # Naming style matching correct inline iteration names. | ||||||
|  | inlinevar-naming-style=any | ||||||
|  | 
 | ||||||
|  | # Regular expression matching correct inline iteration names. Overrides | ||||||
|  | # inlinevar-naming-style. | ||||||
|  | #inlinevar-rgx= | ||||||
|  | 
 | ||||||
|  | # Naming style matching correct method names. | ||||||
|  | method-naming-style=snake_case | ||||||
|  | 
 | ||||||
|  | # Regular expression matching correct method names. Overrides method-naming- | ||||||
|  | # style. | ||||||
|  | #method-rgx= | ||||||
|  | 
 | ||||||
|  | # Naming style matching correct module names. | ||||||
|  | module-naming-style=snake_case | ||||||
|  | 
 | ||||||
|  | # Regular expression matching correct module names. Overrides module-naming- | ||||||
|  | # style. | ||||||
|  | #module-rgx= | ||||||
|  | 
 | ||||||
|  | # Colon-delimited sets of names that determine each other's naming style when | ||||||
|  | # the name regexes allow several styles. | ||||||
|  | name-group= | ||||||
|  | 
 | ||||||
|  | # Regular expression which should only match function or class names that do | ||||||
|  | # not require a docstring. | ||||||
|  | no-docstring-rgx=^_ | ||||||
|  | 
 | ||||||
|  | # List of decorators that produce properties, such as abc.abstractproperty. Add | ||||||
|  | # to this list to register other decorators that produce valid properties. | ||||||
|  | # These decorators are taken in consideration only for invalid-name. | ||||||
|  | property-classes=abc.abstractproperty | ||||||
|  | 
 | ||||||
|  | # Naming style matching correct variable names. | ||||||
|  | variable-naming-style=snake_case | ||||||
|  | 
 | ||||||
|  | # Regular expression matching correct variable names. Overrides variable- | ||||||
|  | # naming-style. | ||||||
|  | #variable-rgx= | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [TYPECHECK] | ||||||
|  | 
 | ||||||
|  | # List of decorators that produce context managers, such as | ||||||
|  | # contextlib.contextmanager. Add to this list to register other decorators that | ||||||
|  | # produce valid context managers. | ||||||
|  | contextmanager-decorators=contextlib.contextmanager | ||||||
|  | 
 | ||||||
|  | # List of members which are set dynamically and missed by pylint inference | ||||||
|  | # system, and so shouldn't trigger E1101 when accessed. Python regular | ||||||
|  | # expressions are accepted. | ||||||
|  | generated-members= | ||||||
|  | 
 | ||||||
|  | # Tells whether missing members accessed in mixin class should be ignored. A | ||||||
|  | # mixin class is detected if its name ends with "mixin" (case insensitive). | ||||||
|  | ignore-mixin-members=yes | ||||||
|  | 
 | ||||||
|  | # Tells whether to warn about missing members when the owner of the attribute | ||||||
|  | # is inferred to be None. | ||||||
|  | ignore-none=yes | ||||||
|  | 
 | ||||||
|  | # This flag controls whether pylint should warn about no-member and similar | ||||||
|  | # checks whenever an opaque object is returned when inferring. The inference | ||||||
|  | # can return multiple potential results while evaluating a Python object, but | ||||||
|  | # some branches might not be evaluated, which results in partial inference. In | ||||||
|  | # that case, it might be useful to still emit no-member and other checks for | ||||||
|  | # the rest of the inferred objects. | ||||||
|  | ignore-on-opaque-inference=yes | ||||||
|  | 
 | ||||||
|  | # List of class names for which member attributes should not be checked (useful | ||||||
|  | # for classes with dynamically set attributes). This supports the use of | ||||||
|  | # qualified names. | ||||||
|  | ignored-classes=optparse.Values,thread._local,_thread._local | ||||||
|  | 
 | ||||||
|  | # List of module names for which member attributes should not be checked | ||||||
|  | # (useful for modules/projects where namespaces are manipulated during runtime | ||||||
|  | # and thus existing member attributes cannot be deduced by static analysis. It | ||||||
|  | # supports qualified module names, as well as Unix pattern matching. | ||||||
|  | ignored-modules= | ||||||
|  | 
 | ||||||
|  | # Show a hint with possible names when a member name was not found. The aspect | ||||||
|  | # of finding the hint is based on edit distance. | ||||||
|  | missing-member-hint=yes | ||||||
|  | 
 | ||||||
|  | # The minimum edit distance a name should have in order to be considered a | ||||||
|  | # similar match for a missing member name. | ||||||
|  | missing-member-hint-distance=1 | ||||||
|  | 
 | ||||||
|  | # The total number of similar names that should be taken in consideration when | ||||||
|  | # showing a hint for a missing member. | ||||||
|  | missing-member-max-choices=1 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [VARIABLES] | ||||||
|  | 
 | ||||||
|  | # List of additional names supposed to be defined in builtins. Remember that | ||||||
|  | # you should avoid defining new builtins when possible. | ||||||
|  | additional-builtins= | ||||||
|  | 
 | ||||||
|  | # Tells whether unused global variables should be treated as a violation. | ||||||
|  | allow-global-unused-variables=yes | ||||||
|  | 
 | ||||||
|  | # List of strings which can identify a callback function by name. A callback | ||||||
|  | # name must start or end with one of those strings. | ||||||
|  | callbacks=cb_, | ||||||
|  |           _cb | ||||||
|  | 
 | ||||||
|  | # A regular expression matching the name of dummy variables (i.e. expected to | ||||||
|  | # not be used). | ||||||
|  | dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_ | ||||||
|  | 
 | ||||||
|  | # Argument names that match this expression will be ignored. Default to name | ||||||
|  | # with leading underscore. | ||||||
|  | ignored-argument-names=_.*|^ignored_|^unused_ | ||||||
|  | 
 | ||||||
|  | # Tells whether we should check for unused import in __init__ files. | ||||||
|  | init-import=no | ||||||
|  | 
 | ||||||
|  | # List of qualified module names which can have objects that can redefine | ||||||
|  | # builtins. | ||||||
|  | redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [FORMAT] | ||||||
|  | 
 | ||||||
|  | # Expected format of line ending, e.g. empty (any line ending), LF or CRLF. | ||||||
|  | expected-line-ending-format= | ||||||
|  | 
 | ||||||
|  | # Regexp for a line that is allowed to be longer than the limit. | ||||||
|  | ignore-long-lines=^\s*(# )?<?https?://\S+>?$ | ||||||
|  | 
 | ||||||
|  | # Number of spaces of indent required inside a hanging or continued line. | ||||||
|  | indent-after-paren=2 | ||||||
|  | 
 | ||||||
|  | # String used as indentation unit. This is usually "    " (4 spaces) or "\t" (1 | ||||||
|  | # tab). | ||||||
|  | indent-string='  ' | ||||||
|  | 
 | ||||||
|  | # Maximum number of characters on a single line. | ||||||
|  | max-line-length=200 | ||||||
|  | 
 | ||||||
|  | # Maximum number of lines in a module. | ||||||
|  | max-module-lines=1000 | ||||||
|  | 
 | ||||||
|  | # Allow the body of a class to be on the same line as the declaration if body | ||||||
|  | # contains single statement. | ||||||
|  | single-line-class-stmt=no | ||||||
|  | 
 | ||||||
|  | # Allow the body of an if to be on the same line as the test if there is no | ||||||
|  | # else. | ||||||
|  | single-line-if-stmt=no | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [DESIGN] | ||||||
|  | 
 | ||||||
|  | # Maximum number of arguments for function / method. | ||||||
|  | max-args=5 | ||||||
|  | 
 | ||||||
|  | # Maximum number of attributes for a class (see R0902). | ||||||
|  | max-attributes=7 | ||||||
|  | 
 | ||||||
|  | # Maximum number of boolean expressions in an if statement. | ||||||
|  | max-bool-expr=5 | ||||||
|  | 
 | ||||||
|  | # Maximum number of branch for function / method body. | ||||||
|  | max-branches=12 | ||||||
|  | 
 | ||||||
|  | # Maximum number of locals for function / method body. | ||||||
|  | max-locals=15 | ||||||
|  | 
 | ||||||
|  | # Maximum number of parents for a class (see R0901). | ||||||
|  | max-parents=7 | ||||||
|  | 
 | ||||||
|  | # Maximum number of public methods for a class (see R0904). | ||||||
|  | max-public-methods=20 | ||||||
|  | 
 | ||||||
|  | # Maximum number of return / yield for function / method body. | ||||||
|  | max-returns=6 | ||||||
|  | 
 | ||||||
|  | # Maximum number of statements in function / method body. | ||||||
|  | max-statements=50 | ||||||
|  | 
 | ||||||
|  | # Minimum number of public methods for a class (see R0903). | ||||||
|  | min-public-methods=2 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [IMPORTS] | ||||||
|  | 
 | ||||||
|  | # Allow wildcard imports from modules that define __all__. | ||||||
|  | allow-wildcard-with-all=no | ||||||
|  | 
 | ||||||
|  | # Analyse import fallback blocks. This can be used to support both Python 2 and | ||||||
|  | # 3 compatible code, which means that the block might have code that exists | ||||||
|  | # only in one or another interpreter, leading to false positives when analysed. | ||||||
|  | analyse-fallback-blocks=no | ||||||
|  | 
 | ||||||
|  | # Deprecated modules which should not be used, separated by a comma. | ||||||
|  | deprecated-modules=optparse,tkinter.tix | ||||||
|  | 
 | ||||||
|  | # Create a graph of external dependencies in the given file (report RP0402 must | ||||||
|  | # not be disabled). | ||||||
|  | ext-import-graph= | ||||||
|  | 
 | ||||||
|  | # Create a graph of every (i.e. internal and external) dependencies in the | ||||||
|  | # given file (report RP0402 must not be disabled). | ||||||
|  | import-graph= | ||||||
|  | 
 | ||||||
|  | # Create a graph of internal dependencies in the given file (report RP0402 must | ||||||
|  | # not be disabled). | ||||||
|  | int-import-graph= | ||||||
|  | 
 | ||||||
|  | # Force import order to recognize a module as part of the standard | ||||||
|  | # compatibility libraries. | ||||||
|  | known-standard-library= | ||||||
|  | 
 | ||||||
|  | # Force import order to recognize a module as part of a third party library. | ||||||
|  | known-third-party=enchant | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [CLASSES] | ||||||
|  | 
 | ||||||
|  | # List of method names used to declare (i.e. assign) instance attributes. | ||||||
|  | defining-attr-methods=__init__, | ||||||
|  |                       __new__, | ||||||
|  |                       setUp | ||||||
|  | 
 | ||||||
|  | # List of member names, which should be excluded from the protected access | ||||||
|  | # warning. | ||||||
|  | exclude-protected=_asdict, | ||||||
|  |                   _fields, | ||||||
|  |                   _replace, | ||||||
|  |                   _source, | ||||||
|  |                   _make | ||||||
|  | 
 | ||||||
|  | # List of valid names for the first argument in a class method. | ||||||
|  | valid-classmethod-first-arg=cls | ||||||
|  | 
 | ||||||
|  | # List of valid names for the first argument in a metaclass class method. | ||||||
|  | valid-metaclass-classmethod-first-arg=cls | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [EXCEPTIONS] | ||||||
|  | 
 | ||||||
|  | # Exceptions that will emit a warning when being caught. Defaults to | ||||||
|  | # "BaseException, Exception". | ||||||
|  | overgeneral-exceptions=BaseException, | ||||||
|  |                        Exception | ||||||
							
								
								
									
										20
									
								
								.yamllint
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								.yamllint
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | |||||||
|  | --- | ||||||
|  | extends: default | ||||||
|  | 
 | ||||||
|  | rules: | ||||||
|  |   line-length: disable | ||||||
|  |   colons: | ||||||
|  |     level: warning | ||||||
|  |   indentation: | ||||||
|  |     level: warning | ||||||
|  |     indent-sequences: consistent | ||||||
|  |   commas: | ||||||
|  |     level: warning | ||||||
|  |   brackets: | ||||||
|  |     level: warning | ||||||
|  |   hyphens: | ||||||
|  |     level: warning | ||||||
|  |   new-line-at-end-of-file: disable | ||||||
|  |   quoted-strings: | ||||||
|  |     required: only-when-needed | ||||||
|  |     level: warning | ||||||
| @ -41,7 +41,7 @@ try: | |||||||
|     schedule = Schedule() |     schedule = Schedule() | ||||||
|     navbar = Navbar(config=app.local_config["navbar"]) |     navbar = Navbar(config=app.local_config["navbar"]) | ||||||
| except Exception as err: | except Exception as err: | ||||||
|   logger.critical("[{}] {}".format(err.__class__, str(err))) |   logger.critical(f"[{err.__class__}] {str(err)}") | ||||||
|   sys.exit(1) |   sys.exit(1) | ||||||
| 
 | 
 | ||||||
| if app.local_config["log"]["root"]["level"] != "DEBUG": | if app.local_config["log"]["root"]["level"] != "DEBUG": | ||||||
| @ -54,18 +54,19 @@ if app.local_config["log"]["root"]["level"] != "DEBUG": | |||||||
| def page_not_found(err): | def page_not_found(err): | ||||||
|   return redirect(url_for('index')) |   return redirect(url_for('index')) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| def get_slots(): | def get_slots(): | ||||||
|   return backend.get(endpoint=f"events/{app.local_config['pretalx']['event']}/schedules/{app.local_config['pretalx']['schedule']}/").json() |   return backend.get(endpoint=f"events/{app.local_config['pretalx']['event']}/schedules/{app.local_config['pretalx']['schedule']}/").json() | ||||||
| 
 | 
 | ||||||
| def get_speaker_biography(name): | 
 | ||||||
|  | def get_speaker_biography(code): | ||||||
|   try: |   try: | ||||||
|     speaker_info = backend.get(endpoint=f"events/{app.local_config['pretalx']['event']}/speakers/", params={"q": name}).json() |     speaker_info = backend.get(endpoint=f"events/{app.local_config['pretalx']['event']}/speakers/{code}/").json() | ||||||
|     logger.debug(speaker_info) |     return speaker_info.get("biography").strip() | ||||||
|     return speaker_info["results"][0]["biography"].strip() |  | ||||||
|   except Exception as err: |   except Exception as err: | ||||||
|     logger.warning(f"UnknownSpeakerError: {name}") |  | ||||||
|     return None |     return None | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| # ------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------ | ||||||
| # -- Custom filters | # -- Custom filters | ||||||
| # ------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------ | ||||||
| @ -79,18 +80,20 @@ def date2dmyhm(date): | |||||||
|   hour, minutes = (splitted_time[0], splitted_time[1].split("+")[0]) |   hour, minutes = (splitted_time[0], splitted_time[1].split("+")[0]) | ||||||
|   return f"{day}/{month} {hour}:{minutes}" |   return f"{day}/{month} {hour}:{minutes}" | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| @app.template_filter('date2dayclass') | @app.template_filter('date2dayclass') | ||||||
| def date2dayclass(date): | def date2dayclass(date): | ||||||
|   classes = {"26/05": "bg1", |   classes = {"26/05": "bg1", | ||||||
|              "27/05": "bg2", |              "27/05": "bg2", | ||||||
|              "28/05": "bg3",} |              "28/05": "bg3"} | ||||||
|   splitted_date = date.split("-") |   splitted_date = date.split("-") | ||||||
|   month, day = (splitted_date[1], |   month, day = (splitted_date[1], | ||||||
|                 splitted_date[2].split("T")[0]) |                 splitted_date[2].split("T")[0]) | ||||||
|   return classes[f"{day}/{month}"] |   return classes[f"{day}/{month}"] | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| @app.template_filter('toicon') | @app.template_filter('toicon') | ||||||
| def date2dmyhm(slot_type): | def type2icon(slot_type): | ||||||
|   slot_types = {"Projection": "fa-solid fa-film", |   slot_types = {"Projection": "fa-solid fa-film", | ||||||
|                 "Presentation Courte": "fa-solid fa-person-chalkboard", |                 "Presentation Courte": "fa-solid fa-person-chalkboard", | ||||||
|                 "DJ Set": "fa-solid fa-guitar", |                 "DJ Set": "fa-solid fa-guitar", | ||||||
| @ -101,6 +104,7 @@ def date2dmyhm(slot_type): | |||||||
|                 "Installation": "fa-solid fa-palette"} |                 "Installation": "fa-solid fa-palette"} | ||||||
|   return slot_types[slot_type] |   return slot_types[slot_type] | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| # ------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------ | ||||||
| # -- Routes | # -- Routes | ||||||
| # ------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------ | ||||||
| @ -114,33 +118,38 @@ def index(): | |||||||
|   return render_template("index.html", |   return render_template("index.html", | ||||||
|                          navbar=navbar.get_from_page(page="/")) |                          navbar=navbar.get_from_page(page="/")) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| @app.route('/planning', methods=['GET']) | @app.route('/planning', methods=['GET']) | ||||||
| def planning(): | def planning(): | ||||||
|   slots = get_slots() |   slots = get_slots() | ||||||
|   for slot in slots.get("slots"): |   for slot in slots.get("slots"): | ||||||
|     for speaker in slot.get("speakers"): |     for speaker in slot.get("speakers"): | ||||||
|       speaker["biography"] = get_speaker_biography(speaker.get("name")) |       speaker["biography"] = get_speaker_biography(speaker.get("code")) | ||||||
|   return render_template("planning.html", |   return render_template("planning.html", | ||||||
|                          slots=sorted(slots.get("slots"), |                          slots=sorted(slots.get("slots"), | ||||||
|                          key=lambda slot: slot.get("slot").get("start")), |                          key=lambda slot: slot.get("slot").get("start")), | ||||||
|                          navbar=navbar.get_from_page(page="/planning"), |                          navbar=navbar.get_from_page(page="/planning"), | ||||||
|                          filter=["concert", "dj set", "panel discussion", "talk", "screening"]) |                          filter=["concert", "dj set", "panel discussion", "talk", "screening"]) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| @app.route('/place', methods=['GET']) | @app.route('/place', methods=['GET']) | ||||||
| def place(): | def place(): | ||||||
|   return render_template("place.html", |   return render_template("place.html", | ||||||
|                          navbar=navbar.get_from_page(page="/place")) |                          navbar=navbar.get_from_page(page="/place")) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| @app.route('/food', methods=['GET']) | @app.route('/food', methods=['GET']) | ||||||
| def food(): | def food(): | ||||||
|   return render_template("food.html", |   return render_template("food.html", | ||||||
|                          navbar=navbar.get_from_page(page="/food")) |                          navbar=navbar.get_from_page(page="/food")) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| @app.route('/goodies', methods=['GET']) | @app.route('/goodies', methods=['GET']) | ||||||
| def goodies(): | def goodies(): | ||||||
|   return render_template("goodies.html", |   return render_template("goodies.html", | ||||||
|                          navbar=navbar.get_from_page(page="/goodies")) |                          navbar=navbar.get_from_page(page="/goodies")) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| @app.route('/concerts', methods=['GET']) | @app.route('/concerts', methods=['GET']) | ||||||
| def concerts(): | def concerts(): | ||||||
|   slots = get_slots() |   slots = get_slots() | ||||||
| @ -150,6 +159,7 @@ def concerts(): | |||||||
|                          navbar=navbar.get_from_page(page="/concerts"), |                          navbar=navbar.get_from_page(page="/concerts"), | ||||||
|                          filter=["concert", "dj set"]) |                          filter=["concert", "dj set"]) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| @app.route('/workshops', methods=['GET']) | @app.route('/workshops', methods=['GET']) | ||||||
| def workshops(): | def workshops(): | ||||||
|   slots = get_slots() |   slots = get_slots() | ||||||
| @ -159,6 +169,7 @@ def workshops(): | |||||||
|                          navbar=navbar.get_from_page(page="/workshops"), |                          navbar=navbar.get_from_page(page="/workshops"), | ||||||
|                          filter=["workshop"]) |                          filter=["workshop"]) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| @app.route('/screenings', methods=['GET']) | @app.route('/screenings', methods=['GET']) | ||||||
| def screenings(): | def screenings(): | ||||||
|   slots = get_slots() |   slots = get_slots() | ||||||
| @ -168,6 +179,7 @@ def screenings(): | |||||||
|                          navbar=navbar.get_from_page(page="/screenings"), |                          navbar=navbar.get_from_page(page="/screenings"), | ||||||
|                          filter=["screening"]) |                          filter=["screening"]) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| @app.route('/discussions', methods=['GET']) | @app.route('/discussions', methods=['GET']) | ||||||
| def discussions(): | def discussions(): | ||||||
|   slots = get_slots() |   slots = get_slots() | ||||||
| @ -177,6 +189,7 @@ def discussions(): | |||||||
|                          navbar=navbar.get_from_page(page="/discussions"), |                          navbar=navbar.get_from_page(page="/discussions"), | ||||||
|                          filter=["panel discussion"]) |                          filter=["panel discussion"]) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| @app.route('/exhibitions', methods=['GET']) | @app.route('/exhibitions', methods=['GET']) | ||||||
| def exhibitions(): | def exhibitions(): | ||||||
|   slots = get_slots() |   slots = get_slots() | ||||||
| @ -186,6 +199,7 @@ def exhibitions(): | |||||||
|                          navbar=navbar.get_from_page(page="/exhibitions"), |                          navbar=navbar.get_from_page(page="/exhibitions"), | ||||||
|                          filter=["installation"]) |                          filter=["installation"]) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| @app.route('/talks', methods=['GET']) | @app.route('/talks', methods=['GET']) | ||||||
| def talks(): | def talks(): | ||||||
|   slots = get_slots() |   slots = get_slots() | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user