calibre-tal/release.py

44 lines
1.1 KiB
Python
Executable file

#!/usr/bin/env python3
import glob
import os
from zipfile import ZipFile
dir_path = os.path.dirname(os.path.realpath(__file__))
def get_version():
path = os.path.join(
dir_path,
'theanarchistlibrary_store',
'__init__.py',
)
with open(path, 'r') as file:
lines = file.read().split('\n')
for line in lines:
line_ = line.lower().strip()
if line_.startswith('version = '):
parts = line_[10:].lstrip('(').rstrip(')').split(',')
numbers = [int(part) for part in parts]
return '{}.{}.{}'.format(*numbers)
def release():
version = get_version()
tgt_fn = f'theanarchistlibrary_store_v{version}.zip'
tgt_path = os.path.join(dir_path, 'releases', tgt_fn)
src_glob = os.path.join(
dir_path,
'theanarchistlibrary_store',
'**',
)
with ZipFile(tgt_path, 'w') as zip:
for path in glob.glob(src_glob, recursive=True):
arcname = path[(len(src_glob) - 2):]
if arcname:
zip.write(path, arcname=arcname)
if __name__ == '__main__':
release()