Added Makefile
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
This commit is contained in:
parent
09502f6fc7
commit
7338667e7e
1
.gitignore
vendored
1
.gitignore
vendored
@ -163,7 +163,6 @@ cython_debug/
|
||||
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
||||
#.idea/
|
||||
|
||||
.pylint.sh
|
||||
.pylint.err
|
||||
.pylint.log
|
||||
.pylint.out
|
||||
|
385
.pylint.rc
Normal file
385
.pylint.rc
Normal file
@ -0,0 +1,385 @@
|
||||
# is file was generated by edx-lint: https://github.com/edx/edx-lint
|
||||
#
|
||||
# If you want to change this file, you have two choices, depending on whether
|
||||
# you want to make a local change that applies only to this repo, or whether
|
||||
# you want to make a central change that applies to all repos using edx-lint.
|
||||
#
|
||||
# Note: If your pylintrc file is simply out-of-date relative to the latest
|
||||
# pylintrc in edx-lint, ensure you have the latest edx-lint installed
|
||||
# and then follow the steps for a "LOCAL CHANGE".
|
||||
#
|
||||
# LOCAL CHANGE:
|
||||
#
|
||||
# 1. Edit the local pylintrc_tweaks file to add changes just to this
|
||||
# repo's file.
|
||||
#
|
||||
# 2. Run:
|
||||
#
|
||||
# $ edx_lint write pylintrc
|
||||
#
|
||||
# 3. This will modify the local file. Submit a pull request to get it
|
||||
# checked in so that others will benefit.
|
||||
#
|
||||
#
|
||||
# CENTRAL CHANGE:
|
||||
#
|
||||
# 1. Edit the pylintrc file in the edx-lint repo at
|
||||
# https://github.com/edx/edx-lint/blob/master/edx_lint/files/pylintrc
|
||||
#
|
||||
# 2. install the updated version of edx-lint (in edx-lint):
|
||||
#
|
||||
# $ pip install .
|
||||
#
|
||||
# 3. Run (in edx-lint):
|
||||
#
|
||||
# $ edx_lint write pylintrc
|
||||
#
|
||||
# 4. Make a new version of edx_lint, submit and review a pull request with the
|
||||
# pylintrc update, and after merging, update the edx-lint version and
|
||||
# publish the new version.
|
||||
#
|
||||
# 5. In your local repo, install the newer version of edx-lint.
|
||||
#
|
||||
# 6. Run:
|
||||
#
|
||||
# $ edx_lint write pylintrc
|
||||
#
|
||||
# 7. This will modify the local file. Submit a pull request to get it
|
||||
# checked in so that others will benefit.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
# STAY AWAY FROM THIS FILE!
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
# SERIOUSLY.
|
||||
#
|
||||
# ------------------------------
|
||||
# Generated by edx-lint version: 5.2.3
|
||||
# ------------------------------
|
||||
[MASTER]
|
||||
ignore = ,input
|
||||
persistent = yes
|
||||
|
||||
[MESSAGES CONTROL]
|
||||
enable =
|
||||
blacklisted-name,
|
||||
# line-too-long,
|
||||
|
||||
abstract-class-instantiated,
|
||||
abstract-method,
|
||||
access-member-before-definition,
|
||||
anomalous-backslash-in-string,
|
||||
anomalous-unicode-escape-in-string,
|
||||
arguments-differ,
|
||||
assert-on-tuple,
|
||||
assigning-non-slot,
|
||||
assignment-from-no-return,
|
||||
assignment-from-none,
|
||||
attribute-defined-outside-init,
|
||||
bad-except-order,
|
||||
bad-format-character,
|
||||
bad-format-string-key,
|
||||
bad-format-string,
|
||||
bad-open-mode,
|
||||
bad-reversed-sequence,
|
||||
bad-staticmethod-argument,
|
||||
bad-str-strip-call,
|
||||
bad-super-call,
|
||||
binary-op-exception,
|
||||
boolean-datetime,
|
||||
catching-non-exception,
|
||||
cell-var-from-loop,
|
||||
confusing-with-statement,
|
||||
continue-in-finally,
|
||||
dangerous-default-value,
|
||||
duplicate-argument-name,
|
||||
duplicate-bases,
|
||||
duplicate-except,
|
||||
duplicate-key,
|
||||
expression-not-assigned,
|
||||
format-combined-specification,
|
||||
format-needs-mapping,
|
||||
function-redefined,
|
||||
global-variable-undefined,
|
||||
import-error,
|
||||
import-self,
|
||||
inconsistent-mro,
|
||||
inherit-non-class,
|
||||
init-is-generator,
|
||||
invalid-all-object,
|
||||
invalid-format-index,
|
||||
invalid-length-returned,
|
||||
invalid-sequence-index,
|
||||
invalid-slice-index,
|
||||
invalid-slots-object,
|
||||
invalid-slots,
|
||||
invalid-unary-operand-type,
|
||||
logging-too-few-args,
|
||||
logging-too-many-args,
|
||||
logging-unsupported-format,
|
||||
lost-exception,
|
||||
method-hidden,
|
||||
misplaced-bare-raise,
|
||||
misplaced-future,
|
||||
missing-format-argument-key,
|
||||
missing-format-attribute,
|
||||
missing-format-string-key,
|
||||
no-member,
|
||||
no-method-argument,
|
||||
no-name-in-module,
|
||||
no-self-argument,
|
||||
no-value-for-parameter,
|
||||
non-iterator-returned,
|
||||
nonexistent-operator,
|
||||
not-a-mapping,
|
||||
not-an-iterable,
|
||||
not-callable,
|
||||
not-context-manager,
|
||||
not-in-loop,
|
||||
pointless-statement,
|
||||
pointless-string-statement,
|
||||
raising-bad-type,
|
||||
raising-non-exception,
|
||||
redefined-builtin,
|
||||
redefined-outer-name,
|
||||
redundant-keyword-arg,
|
||||
repeated-keyword,
|
||||
return-arg-in-generator,
|
||||
return-in-init,
|
||||
return-outside-function,
|
||||
signature-differs,
|
||||
super-init-not-called,
|
||||
syntax-error,
|
||||
too-few-format-args,
|
||||
too-many-format-args,
|
||||
too-many-function-args,
|
||||
truncated-format-string,
|
||||
undefined-all-variable,
|
||||
undefined-loop-variable,
|
||||
undefined-variable,
|
||||
unexpected-keyword-arg,
|
||||
unexpected-special-method-signature,
|
||||
unpacking-non-sequence,
|
||||
unreachable,
|
||||
unsubscriptable-object,
|
||||
unsupported-binary-operation,
|
||||
unsupported-membership-test,
|
||||
unused-format-string-argument,
|
||||
unused-format-string-key,
|
||||
used-before-assignment,
|
||||
using-constant-test,
|
||||
yield-outside-function,
|
||||
|
||||
astroid-error,
|
||||
fatal,
|
||||
method-check-failed,
|
||||
parse-error,
|
||||
raw-checker-failed,
|
||||
|
||||
empty-docstring,
|
||||
invalid-characters-in-docstring,
|
||||
# missing-docstring,
|
||||
# wrong-spelling-in-comment,
|
||||
# wrong-spelling-in-docstring,
|
||||
|
||||
unused-argument,
|
||||
unused-import,
|
||||
unused-variable,
|
||||
|
||||
eval-used,
|
||||
exec-used,
|
||||
|
||||
bad-classmethod-argument,
|
||||
bad-mcs-classmethod-argument,
|
||||
bad-mcs-method-argument,
|
||||
bare-except,
|
||||
broad-except,
|
||||
consider-iterating-dictionary,
|
||||
consider-using-enumerate,
|
||||
global-variable-not-assigned,
|
||||
logging-format-interpolation,
|
||||
# logging-not-lazy,
|
||||
multiple-imports,
|
||||
multiple-statements,
|
||||
no-classmethod-decorator,
|
||||
no-staticmethod-decorator,
|
||||
protected-access,
|
||||
redundant-unittest-assert,
|
||||
reimported,
|
||||
simplifiable-if-statement,
|
||||
singleton-comparison,
|
||||
superfluous-parens,
|
||||
unidiomatic-typecheck,
|
||||
unnecessary-lambda,
|
||||
unnecessary-pass,
|
||||
unnecessary-semicolon,
|
||||
unneeded-not,
|
||||
useless-else-on-loop,
|
||||
|
||||
deprecated-method,
|
||||
deprecated-module,
|
||||
|
||||
too-many-boolean-expressions,
|
||||
too-many-nested-blocks,
|
||||
too-many-statements,
|
||||
|
||||
# wildcard-import,
|
||||
# wrong-import-order,
|
||||
# wrong-import-position,
|
||||
|
||||
missing-final-newline,
|
||||
mixed-line-endings,
|
||||
trailing-newlines,
|
||||
# trailing-whitespace,
|
||||
unexpected-line-ending-format,
|
||||
|
||||
bad-inline-option,
|
||||
bad-option-value,
|
||||
deprecated-pragma,
|
||||
unrecognized-inline-option,
|
||||
useless-suppression,
|
||||
disable =
|
||||
global-at-module-level,
|
||||
useless-return,
|
||||
#
|
||||
bad-indentation,
|
||||
consider-using-f-string,
|
||||
duplicate-code,
|
||||
f-string-without-interpolation,
|
||||
file-ignored,
|
||||
fixme,
|
||||
global-statement,
|
||||
invalid-name,
|
||||
locally-disabled,
|
||||
no-else-return,
|
||||
## no-self-use,
|
||||
suppressed-message,
|
||||
too-few-public-methods,
|
||||
too-many-ancestors,
|
||||
too-many-arguments,
|
||||
too-many-branches,
|
||||
too-many-instance-attributes,
|
||||
too-many-lines,
|
||||
too-many-locals,
|
||||
too-many-public-methods,
|
||||
too-many-return-statements,
|
||||
ungrouped-imports,
|
||||
unspecified-encoding,
|
||||
unused-wildcard-import,
|
||||
use-maxsplit-arg,
|
||||
wrong-import-order,
|
||||
wrong-import-position,
|
||||
|
||||
logging-not-lazy,
|
||||
line-too-long,
|
||||
import-outside-toplevel,
|
||||
logging-fstring-interpolation,
|
||||
# new
|
||||
missing-module-docstring,
|
||||
missing-class-docstring,
|
||||
missing-function-docstring,
|
||||
use-dict-literal,
|
||||
|
||||
[REPORTS]
|
||||
output-format = text
|
||||
##files-output = no
|
||||
reports = no
|
||||
score = no
|
||||
|
||||
[BASIC]
|
||||
##bad-functions = map,filter,apply,input
|
||||
module-rgx = (([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
|
||||
const-rgx = (([A-Z_][A-Z0-9_]*)|(__.*__)|log|urlpatterns)$
|
||||
class-rgx = [A-Z_][a-zA-Z0-9]+$
|
||||
function-rgx = ([a-z_][a-z0-9_]{2,40}|test_[a-z0-9_]+)$
|
||||
method-rgx = ([a-z_][a-z0-9_]{2,40}|setUp|set[Uu]pClass|tearDown|tear[Dd]ownClass|assert[A-Z]\w*|maxDiff|test_[a-z0-9_]+)$
|
||||
attr-rgx = [a-z_][a-z0-9_]{2,30}$
|
||||
argument-rgx = [a-z_][a-z0-9_]{2,30}$
|
||||
variable-rgx = [a-z_][a-z0-9_]{2,30}$
|
||||
class-attribute-rgx = ([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
|
||||
inlinevar-rgx = [A-Za-z_][A-Za-z0-9_]*$
|
||||
good-names = f,i,j,k,db,ex,Run,_,__
|
||||
bad-names = foo,bar,baz,toto,tutu,tata
|
||||
no-docstring-rgx = __.*__$|test_.+|setUp$|setUpClass$|tearDown$|tearDownClass$|Meta$
|
||||
docstring-min-length = 5
|
||||
|
||||
[FORMAT]
|
||||
max-line-length = 120
|
||||
ignore-long-lines = ^\s*(# )?((<?https?://\S+>?)|(\.\. \w+: .*))$
|
||||
single-line-if-stmt = no
|
||||
##no-space-check = trailing-comma,dict-separator
|
||||
max-module-lines = 1000
|
||||
indent-string = ' '
|
||||
|
||||
[MISCELLANEOUS]
|
||||
notes = FIXME,XXX,TODO
|
||||
|
||||
[SIMILARITIES]
|
||||
min-similarity-lines = 4
|
||||
ignore-comments = yes
|
||||
ignore-docstrings = yes
|
||||
ignore-imports = no
|
||||
|
||||
[TYPECHECK]
|
||||
ignore-mixin-members = yes
|
||||
ignored-classes = SQLObject
|
||||
unsafe-load-any-extension = yes
|
||||
generated-members =
|
||||
REQUEST,
|
||||
acl_users,
|
||||
aq_parent,
|
||||
objects,
|
||||
DoesNotExist,
|
||||
can_read,
|
||||
can_write,
|
||||
get_url,
|
||||
size,
|
||||
content,
|
||||
status_code,
|
||||
create,
|
||||
build,
|
||||
fields,
|
||||
tag,
|
||||
org,
|
||||
course,
|
||||
category,
|
||||
name,
|
||||
revision,
|
||||
_meta,
|
||||
|
||||
[VARIABLES]
|
||||
init-import = no
|
||||
dummy-variables-rgx = _|dummy|unused|.*_unused
|
||||
additional-builtins =
|
||||
|
||||
[CLASSES]
|
||||
defining-attr-methods = __init__,__new__,setUp
|
||||
valid-classmethod-first-arg = cls
|
||||
valid-metaclass-classmethod-first-arg = mcs
|
||||
|
||||
[DESIGN]
|
||||
max-args = 5
|
||||
ignored-argument-names = _.*
|
||||
max-locals = 15
|
||||
max-returns = 9
|
||||
max-branches = 12
|
||||
max-statements = 50
|
||||
max-parents = 7
|
||||
max-attributes = 7
|
||||
min-public-methods = 2
|
||||
max-public-methods = 20
|
||||
|
||||
[IMPORTS]
|
||||
deprecated-modules = regsub,TERMIOS,Bastion,rexec
|
||||
import-graph =
|
||||
ext-import-graph =
|
||||
int-import-graph =
|
||||
|
||||
[EXCEPTIONS]
|
||||
overgeneral-exceptions = BaseException
|
22
.pylint.sh
Normal file
22
.pylint.sh
Normal file
@ -0,0 +1,22 @@
|
||||
#!/bin/sh
|
||||
|
||||
EXE=/var/local/bin/pydev_pylint.bash
|
||||
ROLE=logging
|
||||
|
||||
$EXE --recursive y --verbose --py-version 3.11 \
|
||||
--output-format colorized --rcfile .pylint.rc \
|
||||
-E -f text *py [a-nr-z]*/*py > .pylint.err
|
||||
retval=$?
|
||||
|
||||
$EXE --recursive y --verbose --py-version 3.11 \
|
||||
--output-format colorized --rcfile .pylint.rc \
|
||||
*py [a-nr-z]*/*py > .pylint.out
|
||||
|
||||
sed -e "/Module 'os' has no/d" \
|
||||
-e "/Undefined variable 'app'/d" \
|
||||
-e '/tests\//d' \
|
||||
-e "/Instance of 'Curl' has no /d" \
|
||||
-e "/No name 'path' in module 'os' /d" \
|
||||
-e "/ in module 'os'/d" \
|
||||
-e "/.bak\//d" \
|
||||
-i .pylint.err .pylint.out
|
19
Makefile
Normal file
19
Makefile
Normal file
@ -0,0 +1,19 @@
|
||||
PYTHON=python3
|
||||
|
||||
prepare::
|
||||
bash .pylint.sh
|
||||
|
||||
check::
|
||||
PYTHONPATH=${PWD} pyanalyze \
|
||||
tox_wrapper/tox.py tox_wrapper/tests/tests_wrapper.py \
|
||||
> .pyanal.out 2>&1
|
||||
|
||||
install::
|
||||
$(PYTHON) setup.py install
|
||||
|
||||
test;:
|
||||
$(PYTHON) tox_wrapper/tests/tests_wrapper.py
|
||||
|
||||
clean::
|
||||
rm -f *~ */*~ */*/*~
|
||||
rm -rf *.egg-info
|
22
README.md
22
README.md
@ -10,28 +10,34 @@ by Ingvar.
|
||||
The basics of NGC groups are supported, as well as AV and toxencryptsave.
|
||||
There is no coverage of conferences as they are not used in ```toxygen```
|
||||
and the list of still unwrapped calls as of Sept. 2022 can be found in
|
||||
```tox.c-toxcore.missing```. The code still needs double-checking
|
||||
that every call in ```tox.py``` has the right signature, but it runs
|
||||
```tox.c-toxcore.missing```. The code is typed so that every call in
|
||||
```tox*.py``` should have the right signature, and it runs
|
||||
```toxygen``` with no apparent issues.
|
||||
|
||||
It has been tested with UDP and TCP proxy (Tor). It has ***not*** been
|
||||
tested on Windows, and there may be some minor breakage, which should be
|
||||
easy to fix. There is a good coverage integration testsuite in ```wrapper_tests```.
|
||||
easy to fix. There is a good coverage integration testsuite in ```tox_wrapper/tests```.
|
||||
Change to that directory and run ```tests_wrapper.py --help```; the test
|
||||
suite gives a good set of examples of usage.
|
||||
|
||||
## Install
|
||||
|
||||
Put the parent of the wrapper directory on your PYTHONPATH and
|
||||
touch a file called `__init__.py` in its parent directory.
|
||||
Run ```python3 setup.py install``` or put the parent of the wrapper
|
||||
directory on your PYTHONPATH and touch a file called `__init__.py`
|
||||
in its parent directory.
|
||||
|
||||
Then you need a ```libs``` directory beside the `wrapper` directory
|
||||
Then you need a ```libs``` directory beside the ```tox_wrapper``` directory
|
||||
and you need to link your ```libtoxcore.so``` and ```libtoxav.so```
|
||||
and ```libtoxencryptsave.so``` into it. Link all 3 filenames
|
||||
to ```libtoxcore.so``` if you have only ```libtoxcore.so```
|
||||
(which is usually the case if you built ```c-toxcore``` with ```cmake```
|
||||
rather than ```autogen/configure```). If you want to be different,
|
||||
the environment variable TOXCORE_LIBS overrides the location of ```libs```.
|
||||
the environment variable TOXCORE_LIBS overrides the location of ```libs```;
|
||||
look in the file ```tox_wrapper/libtox.py``` for the details.
|
||||
|
||||
# Tests
|
||||
|
||||
To test, run ```python3 tox_wrapper/tests/tests_wrapper.py --help```
|
||||
|
||||
As is, the code in ```tox.py``` is very verbose. Edit the file to change
|
||||
```
|
||||
@ -44,7 +50,7 @@ def LOG_TRACE(a): pass # print('TRAC> '+a)
|
||||
to all ```pass #``` or use ```logging.logger``` to suite your tastes.
|
||||
```logging.logger``` can be dangerous in callbacks in ```Qt``` applications,
|
||||
so we use simple print statements as default. The same applies to
|
||||
```wrapper/tests_wrapper.py```.
|
||||
```tox_wrapper/tests/tests_wrapper.py```.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
root@devuan.29604:1700913818
|
@ -1 +0,0 @@
|
||||
root@devuan.29604:1700913818
|
Loading…
Reference in New Issue
Block a user