Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
46b6c1bd56 | ||
|
|
230243cfec | ||
|
|
4381c24a82 | ||
|
|
57b3328ebe | ||
|
|
280436f050 | ||
|
|
7b7d371332 | ||
|
|
0a44792155 | ||
|
|
2659ec1d9e | ||
|
|
d6b8aa7dce | ||
|
|
4ae10eb8dd |
31
.github/workflows/python-publish.yml
vendored
Normal file
31
.github/workflows/python-publish.yml
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
# This workflows will upload a Python Package using Twine when a release is created
|
||||
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
|
||||
|
||||
name: Upload Python Package
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install setuptools wheel twine
|
||||
- name: Build and publish
|
||||
env:
|
||||
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
|
||||
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
|
||||
run: |
|
||||
python setup.py sdist bdist_wheel
|
||||
twine upload --repository pypi dist/*
|
||||
35
build.py
35
build.py
@@ -1,35 +1,32 @@
|
||||
import argparse
|
||||
import subprocess
|
||||
|
||||
import pathlib
|
||||
import os
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser("Build script for pypi and pypi test")
|
||||
group = parser.add_mutually_exclusive_group(required=True)
|
||||
group.add_argument(
|
||||
'--test',
|
||||
action='store_true',
|
||||
help='Build to test.pypi.org'
|
||||
)
|
||||
group.add_argument(
|
||||
'--re',
|
||||
action='store_true',
|
||||
help='Build to pypi.org'
|
||||
)
|
||||
group.add_argument(
|
||||
'--check',
|
||||
action='store_true',
|
||||
help='Displays the twine check for dist'
|
||||
)
|
||||
|
||||
group = parser.add_mutually_exclusive_group(required=True)
|
||||
|
||||
group.add_argument('--test', action='store_true', help='Build to test.pypi.org')
|
||||
group.add_argument('--pypi', action='store_true', help='Build to pypi.org')
|
||||
group.add_argument('--check', action='store_true', help='Displays the twine check for dist')
|
||||
args = parser.parse_args()
|
||||
|
||||
subprocess.call(['python3', 'setup.py', 'sdist', 'bdist_wheel'])
|
||||
for path in pathlib.Path('dist').iterdir():
|
||||
os.remove(path)
|
||||
|
||||
subprocess.call(['python3', 'setup.py', 'sdist', 'bdist_wheel'], stdout=subprocess.PIPE)
|
||||
|
||||
if args.test:
|
||||
subprocess.call(['twine', 'upload', '--config-file', '.pypirc', '--repository', 'testpypi', 'dist/*'])
|
||||
elif args.re:
|
||||
|
||||
elif args.pypi:
|
||||
subprocess.call(['twine', 'upload', '--config-file', '.pypirc', '--repository', 'pypi', 'dist/*'])
|
||||
|
||||
else:
|
||||
subprocess.call(['twine', 'check', 'dist/*'])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
@@ -3,6 +3,7 @@ import sys
|
||||
import pynput
|
||||
import re
|
||||
import argparse
|
||||
import pprint
|
||||
|
||||
|
||||
class WorkSpacer:
|
||||
@@ -24,7 +25,7 @@ class WorkSpacer:
|
||||
self.config = self.i3.get_config().__dict__['config']
|
||||
config_outputs = {}
|
||||
for matchNo, match in enumerate(
|
||||
re.finditer(r'set (\$[a-zA-Z]+) ((HDMI|DP|VGA)-\d)', self.config, re.MULTILINE), start=1
|
||||
re.finditer(r'set (\$[a-zA-Z]+) ((HDMI|DP|VGA|eDP)(-|)(\d|$))', self.config, re.MULTILINE), start=1
|
||||
):
|
||||
config_outputs[match.group(1)] = match.group(2)
|
||||
config_workspace_names = {}
|
||||
@@ -38,8 +39,11 @@ class WorkSpacer:
|
||||
if not self.workspaces_on_outputs.keys().__contains__(config_outputs[match.group(2)]):
|
||||
self.workspaces_on_outputs[config_outputs[match.group(2)]] = []
|
||||
self.workspaces_on_outputs[config_outputs[match.group(2)]].append(config_workspace_names[match.group(1)])
|
||||
self.print_if_debug("All workspaces with outputs")
|
||||
self.print_if_debug(self.workspaces_on_outputs)
|
||||
|
||||
except Exception as exc:
|
||||
self.print_if_debug(exc)
|
||||
sys.exit(1)
|
||||
self.workspaces = [workspaces for workspaces in self.i3.get_workspaces()]
|
||||
outputs = self.i3.get_outputs()
|
||||
@@ -79,22 +83,28 @@ class WorkSpacer:
|
||||
def _get_workspaces_for_output(self, output):
|
||||
return [workspace for workspace in self.workspaces if workspace.__dict__['output'] == output]
|
||||
|
||||
def print_if_debug(self, to_print):
|
||||
if self.args.debug:
|
||||
pprint.pprint(to_print)
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Dynamic changes the workspace, based on what output your cursoer is on."
|
||||
)
|
||||
parser.add_argument('-d', '--debug', action='store_true',
|
||||
help='Turn on debug mode.')
|
||||
|
||||
required_group = parser.add_argument_group('Required', '')
|
||||
required_group.add_argument("-i", "--index", type=int, required=True,
|
||||
help="the number index of the workspace that should be openend. 1 = first workspace in config etc.")
|
||||
help="The indexed workspace for the output where the cursor is currently located")
|
||||
|
||||
shift_group = parser.add_argument_group('Shift', 'manipulate the active window')
|
||||
shift_group.add_argument("-s", "--shift", action='store_true',
|
||||
help="if present, moves the current active window to target workspace")
|
||||
help="Moves the active window to the index workspace")
|
||||
shift_group.add_argument('-k', '--keep-with-it', action='store_true',
|
||||
help='if present, moves with the ')
|
||||
|
||||
help='Moves the active window to the index workspace, and moves with it')
|
||||
# pprint.pprint(parser.parse_args().__dict__)
|
||||
WorkSpacer(parser.parse_args()).run()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user