Skip to content

Commit e2b33e0

Browse files
committed
resolving merge conflicts from pull STOCD#110
2 parents bb2cbb8 + fc131bc commit e2b33e0

60 files changed

Lines changed: 9029 additions & 10309 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.flake8

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[flake8]
2+
ignore=E501,F401,E126,W503
3+
max-line-length = 100

.github/workflows/build.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Build Python Distribution
2+
3+
on: push
4+
5+
jobs:
6+
build_release:
7+
if: startsWith(github.ref, 'refs/tags/v')
8+
runs-on: ${{ matrix.os }}
9+
strategy:
10+
fail-fast: false
11+
matrix:
12+
os: [windows-latest]
13+
14+
steps:
15+
- uses: actions/checkout@v2
16+
- uses: actions/setup-python@v2
17+
with:
18+
python-version: "3.12"
19+
- run: python3 -m pip install virtualenv cx_Freeze
20+
- run: python3 -m virtualenv venv
21+
- run: .\venv\Scripts\activate.bat
22+
- run: pip install .
23+
- run: cxfreeze build_exe
24+
- uses: actions/upload-artifact@v4
25+
with:
26+
name: build_release
27+
path: build/exe.win*/
28+
29+
release:
30+
if: startsWith(github.ref, 'refs/tags/v')
31+
needs: [ build_release ]
32+
name: Create release
33+
runs-on: ubuntu-latest
34+
permissions:
35+
contents: write
36+
37+
steps:
38+
- name: Download
39+
uses: actions/download-artifact@v4
40+
with:
41+
name: build_release
42+
path: .
43+
- name: Bundle App
44+
run: |
45+
cd exe.win*
46+
zip -r SETS.zip .
47+
mv SETS.zip ..
48+
cd ..
49+
- name: Create release
50+
uses: ncipollo/release-action@v1
51+
with:
52+
artifacts: SETS.zip

.gitignore

Lines changed: 1 addition & 151 deletions
Original file line numberDiff line numberDiff line change
@@ -1,155 +1,5 @@
1-
# Project-specific directories
2-
cache/
31
.config/
42
images/
5-
.vscode/
6-
7-
# Byte-compiled / optimized / DLL files
3+
..debug/
84
__pycache__/
95
*.py[cod]
10-
*$py.class
11-
12-
# C extensions
13-
*.so
14-
15-
# Distribution / packaging
16-
.Python
17-
build/
18-
develop-eggs/
19-
dist/
20-
downloads/
21-
eggs/
22-
.eggs/
23-
lib/
24-
lib64/
25-
parts/
26-
sdist/
27-
var/
28-
wheels/
29-
pip-wheel-metadata/
30-
share/python-wheels/
31-
*.egg-info/
32-
.installed.cfg
33-
*.egg
34-
MANIFEST
35-
36-
# PyInstaller
37-
# Usually these files are written by a python script from a template
38-
# before PyInstaller builds the exe, so as to inject date/other infos into it.
39-
*.manifest
40-
*.spec
41-
42-
# Installer logs
43-
pip-log.txt
44-
pip-delete-this-directory.txt
45-
46-
# Unit test / coverage reports
47-
htmlcov/
48-
.tox/
49-
.nox/
50-
.coverage
51-
.coverage.*
52-
.cache
53-
nosetests.xml
54-
coverage.xml
55-
*.cover
56-
*.py,cover
57-
.hypothesis/
58-
.pytest_cache/
59-
60-
# Translations
61-
*.mo
62-
*.pot
63-
64-
# Django stuff:
65-
*.log
66-
local_settings.py
67-
db.sqlite3
68-
db.sqlite3-journal
69-
70-
# Flask stuff:
71-
instance/
72-
.webassets-cache
73-
74-
# Scrapy stuff:
75-
.scrapy
76-
77-
# Sphinx documentation
78-
docs/_build/
79-
80-
# PyBuilder
81-
target/
82-
83-
# Jupyter Notebook
84-
.ipynb_checkpoints
85-
86-
# IPython
87-
profile_default/
88-
ipython_config.py
89-
90-
# pyenv
91-
.python-version
92-
93-
# pipenv
94-
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
95-
# However, in case of collaboration, if having platform-specific dependencies or dependencies
96-
# having no cross-platform support, pipenv may install dependencies that don't work, or not
97-
# install all needed dependencies.
98-
#Pipfile.lock
99-
100-
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
101-
__pypackages__/
102-
103-
# Celery stuff
104-
celerybeat-schedule
105-
celerybeat.pid
106-
107-
# SageMath parsed files
108-
*.sage.py
109-
110-
# Environments
111-
.env
112-
.venv
113-
env/
114-
venv/
115-
ENV/
116-
env.bak/
117-
venv.bak/
118-
119-
# Spyder project settings
120-
.spyderproject
121-
.spyproject
122-
123-
# Rope project settings
124-
.ropeproject
125-
126-
# mkdocs documentation
127-
/site
128-
129-
# mypy
130-
.mypy_cache/
131-
.dmypy.json
132-
dmypy.json
133-
134-
# Pyre type checker
135-
.pyre/
136-
firststart.py
137-
GETPYTHON.bat
138-
readme.txt
139-
RUN.bat
140-
RUNNOUPDATE.bat
141-
SETS_Package_v5.2.exe
142-
SETUP.bat
143-
.template.json
144-
.debug
145-
test.json
146-
.config.json
147-
.state_SETS.json
148-
main.py.bak
149-
150-
# Pycharm data
151-
.idea/
152-
wily-report.html
153-
.pylintrc
154-
.pylint_current
155-
.pylint_current.json

README.md

Lines changed: 31 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,48 @@
11
# SETS - STO Equipment and Trait Selector
2-
A Star Trek Online build tool in Python
3-
**Website: https://stobuilds.com/apps/sets**
2+
A Star Trek Online build tool in Python. Please refer to the [website](https://stobuilds.com/apps/sets) for information on how this app is used and included features.
43

54
## Description
6-
75
Build management and sharing tool for STO.
8-
Builds can be exported to a PNG file that can be opened by another person using SETS.
9-
10-
## Contributing
11-
If you find any information or images missing, please check or update the official wiki (https://stowiki.net) -- where SETS gets this information. You can report wiki issues on the Star Trek Online Community Discord Server (https://discord.gg/eApUvTRr5q) in the #wiki-requests channel or on the STOBuilds Discord Server (https://discord.gg/stobuilds) in the #wiki-update-talk channel.
12-
13-
For application-related issues or suggestions, please visit the STOBuilds Discord: https://discord.gg/stobuilds (#sets-support channel)
14-
15-
## Getting Started
16-
### Application (no installations required)
17-
*Currently not available*
6+
Builds can be exported to a PNG or JSON file that can be opened by another person using SETS.
187

19-
### Script (Windows 8, 10, 11 ONLY)
20-
For Windows 8, 10, 11 there is the possibility to get `SETS Loader` that contains batch scripts to install the app. Get `SETS Loader` from it's repository: https://github.com/STOCD/SETS_Loader
8+
## Installation
9+
### Images library
10+
All installation methods require an images library containing the game icons. The app will download these automatically, but as this takes a very long time, it is recommended to download the newest compressed image library from the [release](https://github.com/STOCD/releases) page. Once downloaded this has to be decompressed and placed in into the `.config/images` folder.
11+
```
12+
SETS
13+
+- .config
14+
| `- images
15+
| `- <lots of images>
16+
+- SETS.exe / main.py
17+
+- ...
18+
```
2119

22-
### Script (using the git source)
23-
- View the INSTALLATION.md file for detailed installation information
24-
- This is not necessary with the application version.
20+
### Executable for Windows
21+
Download the zipped app from the [release](https://github.com/STOCD/releases) page. Unzip it into a folder where you want your app to live. To speed up the image downloading process, obtain the images library as detailed above. Double-clicking `SETS.exe` will start the app.
2522

26-
### Running the program (script, not application)
23+
You can create a desktop shortcut by rightclicking on `SETS.exe` and clicking on "Create shortcut" in the context menu. Then move the created shortcut to your desktop. To create a start menu entry, open the start menu folder by rightclicking on an arbitrary app in your start menu and clicking on "Open file location". Then move the created shortcut to the folder that opened.
2724

28-
Windows:
29-
> python main.py
3025

31-
Linux/macOS:
32-
> python3 main.py
33-
>
34-
### Dependencies
35-
* Python 3.8 or higher
36-
* Pillow
37-
* requests-html
38-
* lxml-html-clean
39-
* numpy
40-
* tkmacos (MacOS only)
26+
### Script (Cross-Platform)
27+
*The commands below are for Windows. If you want to install the app on Linux, use `python3` instead of `python`. A more comprehensive guide for installing the script version can be found on the [website](https://stobuilds.com/apps/sets/installation).*
4128

29+
First, create a folder to house your app. Open a command prompt and navigate *inside* the created folder.
4230

43-
## Image cache
44-
The image cache can be over 4,000 files.
31+
Download the source code. This can be done using `git` or manual download:
32+
- Manual Download: On the GitHub page of [this repository](https://github.com/STOCD/SETS), click on the green `CODE` button and select "Download ZIP". Save the archive and unpack it so that the files and folders seen on the repository page are *directly* inside your app folder.
33+
- Git: run `git clone https://github.com/STOCD/SETS.git .`
4534

46-
The majority of this are gear icons and ship images. Gear icons tend to be very small (under 40MB for them all, included in the packaged images) while ship images can be quite large and are left for automatic download.
47-
- `CONFIG_DIRECTORY/images/` (automatic) is used to store downloaded images.
48-
You can find the images archive on the [release page](https://github.com/STOCD/SETS/releases)
35+
Install dependencies by running `python -m pip install .`.
4936

50-
## Configuration directory
51-
The configuration directory contains multiple files and folders.
52-
The configuration directory will automatically be created.
37+
To speed up the image download process on first start of the app, download the latest image archive from [releases](https://github.com/STOCD/SETS/releases). Create a `.config` folder and unpack the images archive into it. The images should be in `<app_root>\.config\images\`.
5338

54-
### Configuration Files
55-
- `cache/` (automatic) is used to store downloaded wiki source data
56-
- `library/` (automatic) is the default open/save location for exports and imports.
57-
- `library/.template.json` (optional) will be imported when running the app [^2]
58-
- `library/autosave.json` (automatic) will be used to save changes as you make them
59-
- `override/` (optional) will be checked for images/files before the standard locations, allowing a user to manually override any item.
60-
- `.state_SETS.json` (automatic) is used to store settings
61-
- `.config.json` (optional) is used for manual settings
39+
*Ubuntu* users might need to install the `libxcb-cursor0` package for this app to work: `sudo apt install libxcb-cursor0`
6240

63-
## Authors
41+
To run the app, navigate to your apps folder. Then:
42+
- Windows: Use `python main.py` to start the app.
43+
- Linux: Use `python3 main.py` to start the app.
6444

65-
* Producer - Mara "Sizer" Morrigan - mara.mos714@gmail.com, Discord: Sizer#3498
66-
* Programmer - Liraal2
67-
* Programmer | Linux Testing - Serious Table - Discord: Serious Table#8141
68-
* Programmer - Stephen Hill - Discord: sukobi#1841
69-
* Programmer | QA | "girl Friday" - Shinga - Discord: Shinga#9959
70-
71-
## Licence
72-
73-
SETS and its source code is licensed under GPLv3
74-
75-
Star Trek Online and its content is copyright of Cryptic Studios.
45+
## Contributing
46+
If you find any information or images missing, please check or update the [official wiki](https://stowiki.net) -- where SETS gets this information. You can report wiki issues on the [Star Trek Online Community Discord Server](https://discord.gg/eApUvTRr5q) in the "#wiki-discussion" channel or on the [STOBuilds Discord Server](https://discord.gg/kxwHxbsqzF) in the "#wiki-update-talk" channel.
7647

77-
[^2]: This is a standard .json file exported from SETS
48+
For application-related issues or suggestions, please visit the [STOBuilds Discord](https://discord.gg/kxwHxbsqzF) ("#sets-support" channel).

local/Common_icon.png

1.34 KB
Loading

local/Epic_icon.png

8.25 KB
Loading
311 KB
Binary file not shown.

local/Rare_icon.png

8.57 KB
Loading

local/RobotoMono-Regular.ttf

85.2 KB
Binary file not shown.

local/SETS_icon_small.png

21.8 KB
Loading

0 commit comments

Comments
 (0)