wabri / yapi Goto Github PK
View Code? Open in Web Editor NEWYet Another Package Installer
Home Page: https://yetanotherpackageinstaller.github.io/
License: GNU General Public License v3.0
Yet Another Package Installer
Home Page: https://yetanotherpackageinstaller.github.io/
License: GNU General Public License v3.0
Need shortcut to install know packages, something like:
python3 yapi.py install atom
Create an argument after to update the package cache. For example: python yapi.py update.
I would suggest reorganizing the installation packages by TYPE, for example, if a person is looking only for text editors, or software development packages, in this way the list is packages if more short in the client-view.
Need some more documentation
Add a new argument for yapi called config, this new argument must give the actual configuration for yapi and ask if some of config value needs to be change. if config is follow by one or more of this "--<field_name>=<field_new_value>" it means that field must change with that value. in this case is not necessary to run the console request previously explained.
examples:
The last one is give a particular example of list of value, is probably necessary to update this line of yapi.py:
https://github.com/YetAnotherPackageInstaller/YAPI/blob/6ca5410572d9df4ff6e7a8c78cdef1db3ead6eea/yapi.py#L54
or prevent the change of this line by split the value list in argument of config with a space between the comma and the next character.
The config file needs to be edited to fix the section or value of script-runner and may need to be updated in code. This needs to be fixed before merging other pull requests because they feature this issue.
In the PR #55 I'm working on configuration files, when this PR will be merged is necessary to modify the console_interface.py.
The yes and no answers:
https://github.com/YetAnotherPackageInstaller/YAPI/blob/e1810f900d5eb1985259092763366f01ca5942f2/console_interface.py#L13
can now be load from the language configurations:
https://github.com/YetAnotherPackageInstaller/YAPI/blob/668bb59b38cce8cb541629296f22edcd512caf94/language/en.ini#L1
All the print must be change with the language choose in the configurations
Create it language
If an unknown package is executed with install, for example:
python3 yapi.py install unknown_package
the script throw FileNotFoundError.
Maybe a better output can be made, something like:
No package with this name
And then the list of the packages.
Need something like "Packages Supported" auto creations for "usage" command help. To make this work it is needed to change the signature of start and end of autocreations for package supported:
And add this new 2 line below "usage":
This 2 lines need in readme_update to know where put the options: https://github.com/YetAnotherPackageInstaller/YAPI/blob/5890f6c4900195ec1d6832ce602515cc9ff39b2f/yapi.py#L15
NB: for now the "usage" is only in a feature branch wabri-patch-36-command-yapi
The usage of configuration throw some error in travis build because path of yapi_dir are not valid maybe create a better installer where ask the path is the way to solve that, or get the path where yapi are stored and run in travis.
# Visual Studio Code is a lightweight but powerful source code editor - https://code.visualstudio.com/
wget -O visualstudiocode.deb https://go.microsoft.com/fwlink/?LinkID=760868
sudo dpkg -i visualstudiocode.deb
rm -r visualstudiocode.deb
NOT TESTED
Create aliases to run yapi instead of starting sh and running yapi.sh. Alias should be yapi. An example of the alias in use would be "yapi install test".
It is necessary to divide python scripts into submodules, in order to have more order (tongue twister).
Examples:
i think only the yapi.py and main scripts need to stay on root directory.
Need some sort of cache for list packages, maybe using pickle?
The travis build with python3.7 throw this error:
Unable to download 3.7 archive. The archive may not exist. Please consider a different version.
Maybe need a previous version of python3.
Need a new one installer of YAPI
Need a better GUI with more functionality and better installation
Create the search functionality like the script search.py on rewrite.
This module must search on the online repository for the script that is given by the argument.
Python scripts become unreadable due to configparser import, it is necessary something like language_pack_manager.py created in #69
In the PR #55 I'm working on configuration files, when this PR will be merged is necessary to modify the script_runner.py.
Using configparser python library create a new file called config.ini where put all the configurations used on yapi.
Create a cache for the language loaded form config.ini.
This issue is referred to PR #62
Add a section on config.ini to put the method of how yapi get launch:
The desktop entries need to be added in user share or in local share directory. Maybe adding a new question in the installer and ask where to put the desktop entry: ~/.local/share/applications or /usr/share/applications
Move the modules directories to a modules directory
The modules are:
All imports must be restored and the language packs functionality need some tests.
I installed all the dependencies, but when i tried to run this is the output:
Traceback (most recent call last):
File "/home/wabri/git/YAPI/env/lib/python3.5/site-packages/toga_gtk/app.py", line 116, in _startup
self.startup()
File "/home/wabri/git/YAPI/env/lib/python3.5/site-packages/toga/interface/app.py", line 144, in startup
self.main_window.content = self._startup_method(self)
File "/home/wabri/git/YAPI/user_interface.py", line 41, in build
box.style.update(direction=COLUMN, padding_top=10)
AttributeError: 'CSS' object has no attribute 'update'
and this is the line where the error was thorwn:
https://github.com/YetAnotherPackageInstaller/YAPI/blob/bc1c63ae5ddb8b7fde73dba4207578d5e7114bbf/user_interface.py#L41
Need to setup travis ci for testing
create a file that can be ran to clone this repository
I want output of the script to be more complete, especially if there was a error during the execution.
I think this can be made using:
echo $?
but actually i don't know where to put this.
With config file, there is some problem with absolute path and cache. Need refactoring to set things up.
I want travis to test the installation of all the packages. Need to create a bash script to put all the package installations and allow travis to execute them all. Like this:
yapi.sh install atom
yapi.sh install discord
and so on
In the PR #55 I'm working on configuration files, when this PR will be merged is necessary to modify the console_interface.py.
change this line:
https://github.com/YetAnotherPackageInstaller/YAPI/blob/e1810f900d5eb1985259092763366f01ca5942f2/readme_updater.py#L8
with the path on configuration:
https://github.com/YetAnotherPackageInstaller/YAPI/blob/668bb59b38cce8cb541629296f22edcd512caf94/config.ini#L9
change this line:
https://github.com/YetAnotherPackageInstaller/YAPI/blob/e1810f900d5eb1985259092763366f01ca5942f2/readme_updater.py#L6
with the config:
https://github.com/YetAnotherPackageInstaller/YAPI/blob/668bb59b38cce8cb541629296f22edcd512caf94/config.ini#L18
Only return "Package installed correctly" if output == 0. If output is 0, then it is correct, otherwise there was an error.
Create a bash and shell script to do "yapi install test" to install a package named test and such.
In the PR #55 I'm working on configuration files, when this PR will be merged is necessary to modify the cache_manager.py.
For the cache_manager.py the ignore files of load_packages_from_directory method: https://github.com/YetAnotherPackageInstaller/YAPI/blob/e1810f900d5eb1985259092763366f01ca5942f2/cache_manager.py#L44
will have default values:
https://github.com/YetAnotherPackageInstaller/YAPI/blob/668bb59b38cce8cb541629296f22edcd512caf94/config.ini#L18
The name of the cache file:
https://github.com/YetAnotherPackageInstaller/YAPI/blob/e1810f900d5eb1985259092763366f01ca5942f2/cache_manager.py#L80
change to default with the name in the configuration on:
https://github.com/YetAnotherPackageInstaller/YAPI/blob/668bb59b38cce8cb541629296f22edcd512caf94/config.ini#L21
And at the end must be update the directory of the cache:
https://github.com/YetAnotherPackageInstaller/YAPI/blob/e1810f900d5eb1985259092763366f01ca5942f2/cache_manager.py#L115
Need function to get languages
Need a console installer to set up config.ini something like console_installer.py
How can we manage the installation yapi on a new computer?
How about new script called install.sh to run with:
wget https://raw.githubusercontent.com/Wabri/YAPI/install.sh -O - | sudo bash -
something like this:
git clone https://github.com/Wabri/YAPI.git --depth 1
sudo ln -s ~/YAPI/yapi.sh /usr/local/bin/yapi
For packages:
https://standards.freedesktop.org/desktop-entry-spec/latest/
In the PR #55 I'm working on configuration files, when this PR will be merged is necessary to modify the yapi.py.
add pycharm and idea to the scripts
Since the readme is currently only in English, an argument must be added to get_language_pack to get a specific language pack.
The yapi script has start to become a little confusing, so it needs a refactoring.
The command:
yapi update
doesnt update yapi but the scripts directory, so it is necessary to create new script for update yapi or rename the argument or both.
This is the tar link of sts:
download.springsource.com/release/STS4/4.1.0.RELEASE/dist/e4.10/spring-tool-suite-4-4.1.0.RELEASE-e4.10.0-linux.gtk.x86_64.tar.gz
this is the link of spring tools:
https://spring.io/tools
Need slack on installation script, this is the download link: https://downloads.slack-edge.com/linux_releases/slack-desktop-3.3.3-amd64.deb
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.