In current workflow you need to run setup to run init (because of
repository name), but you need to run init before setup (because of
repository tree rights).
New solution just add `Repo.init()` method call to setup subcommand
after config reload to make sure that repository name has been applied.
In addition chown method as well as setuid method for check_output have
been added.
* Allow spaces in lists. This feature has been done in the way as shell
interprets arguments by using quotation marks
* Clear current content on reload
This feature also introduces the followiing changes
* aur-search command now works as expected with multiterms
* printer classes for managing of data print
* --sort-by argument for aur-search subcommand instead of using package
name
* --quiet argument now has also --no-quite option
* if --quite is supplied, the log level will be set to warn instead of
critical to be able to see error messages
* pretty_datetime function now also supports datetime objects
* BuildStatus is now pure dataclass
In this feature target option must allways point to section name instead
of type. Type will be read from type option. In case if type option is
not presented it will try to check if section with architecture exists
(e.g. target = email, section = email:x86_64); if it does, the correct
section name and type will be used. Otherwise it will check if the
specified section exists; if it does, seection name and type will be
returned.
in order to sort method correctly we are going to use the following
namiing schema:
{subject}_{action}_{details}
This schema still have some exceptions, e.g. single word methods, bool
methods (is_) and getters in case if they are singular (i.e. there is
no any other method with this subject)
* add ability to add manually stored packages
* update tests
* handle manual packages in remove-unknown method
* live fixes
also rename branches to has_remotes method and change return type
according to the source code defaults always updates the values
dictionary. This in this specific case it is impossible to override the
value it will be always empty list.
In order to handle it we are adding another property to the Handler
class which allows to run with None architecture list.
This particular set_defaults behaviour is still useful for other cases
when we have to run command without any specific architecture
* add external process spawner and update test cases
* pass no_report to handlers
* provide service api endpoints
* do not spawn process for single architecture run
* pass no report to handlers
* make _call method of handlers public and also simplify process spawn
* move update under add
* implement actions from web page
* clear logging & improve l&f
* initial auth implementation
* add create user parser
* add tests
* update dependencies list
* add login annd logout to index also improve auth
* realworld fixes
* add method set_option to Configuration and also use it everywhere
* split CreateUser handler to additional read method
* check user duplicate on auth mapping read
* generate salt by using passlib instead of random.choice
* case-insensetive usernames
* update dependencies
* update configuration reference
* improve tests
* fix codefactor errors
* hide fields if authorization is enabled, but no auth supplied
* add settings object for auth provider
* readme update
* add init subcommand
* add also init command to repository object
* add ability to generate list of architectures
* check if architecture list is not empty
* import pgp key implementation
* do not ask confirmation for local sign. Also add argparser test
* superseed requests by python-aur package
* ...and drop --skippgpcheck makgepkg flag by default
General idea is to use classmethod for every constructor and
statismethod otherwise.
Also use self and cls whenever it's possible to call static and class
methods