Skip to content

Commit

Permalink
Merge branch 'release/v1.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
rsnitsch committed Oct 4, 2020
2 parents 1931f3f + ce37aa5 commit 48cbea0
Showing 11 changed files with 612 additions and 484 deletions.
12 changes: 12 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
26 changes: 26 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# trackmania-records

This project allows you to compare your Trackmania 2020 records with your friends.

In the browser, it looks like this:

![Screenshot 1](https://github.com/rsnitsch/trackmania-records/raw/develop/screenshot1.png "Screenshot 1")

It also features a total time comparison:

![Screenshot 2](https://github.com/rsnitsch/trackmania-records/raw/develop/screenshot2.png "Screenshot 2")

## Setup

### 1. Install web application

Please refer to: https://github.com/rsnitsch/trackmania-records/tree/develop/server

### 2. Install uploader

The uploader is what extracts your trackmania records from the autosaved replay files on
your computer and sends them to the web application.

The installation and usage instructions for the upload tool can be found at the bottom of
the web application index page. Alternatively, you can look them up here:
https://github.com/rsnitsch/trackmania-records/tree/develop/client
11 changes: 6 additions & 5 deletions client/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
Trackmania records uploader
===========================
trackmania-records - Uploader
=============================

This tool extracts your records for the training maps of the latest
Trackmania version (from 2020) and uploads them to a server so you can
easily share your records with friends.
This is the uploader for trackmania-records, a Trackmania 2020 records sharing/comparison tool.

The uploader extracts your records for the training maps of the latest Trackmania version (from 2020)
and uploads them to the web application server so you can easily share your records with friends.

Install (requires Python 3 on your system):

204 changes: 102 additions & 102 deletions client/setup.py
Original file line number Diff line number Diff line change
@@ -1,102 +1,102 @@
import codecs
import os.path
import pathlib
from setuptools import setup, find_packages

def read(rel_path):
here = os.path.abspath(os.path.dirname(__file__))
with codecs.open(os.path.join(here, rel_path), 'r') as fp:
return fp.read()

def get_version(rel_path):
for line in read(rel_path).splitlines():
if line.startswith('__version__'):
delim = '"' if '"' in line else "'"
return line.split(delim)[1]
else:
raise RuntimeError("Unable to find version string.")

here = pathlib.Path(__file__).parent.resolve()

long_description = (here / 'README.md').read_text(encoding='utf-8')

setup(
name='upload-tm-records',
# https://www.python.org/dev/peps/pep-0440/
version=get_version('src/upload_tm_records.py'),
description='Upload your trackmania records to a trackmania-records server!',
long_description=long_description,
long_description_content_type='text/markdown',
url='https://github.com/rsnitsch/trackmania-records',
author='Robert Nitsch',
author_email='mail@robertnitsch.de',
# For a list of valid classifiers, see https://pypi.org/classifiers/
classifiers=[
'Development Status :: 4 - Beta',
'Environment :: Console',
'Intended Audience :: End Users/Desktop',
'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
'Topic :: Games/Entertainment',

# Specify the Python versions you support here. In particular, ensure
# that you indicate you support Python 3. These classifiers are *not*
# checked by 'pip install'. See instead 'python_requires' below.
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3 :: Only',
],

# This field adds keywords for your project which will appear on the
# project page. What does your project relate to?
#
# Note that this is a list of additional keywords, separated
# by commas, to be used to assist searching for the distribution in a
# larger catalog.
keywords='trackmania, gaming', # Optional

package_dir={'': 'src'},

# You can just specify package directories manually here if your project is
# simple. Or you can use find_packages().
#
# Alternatively, if you just want to distribute a single Python file, use
# the `py_modules` argument instead as follows, which will expect a file
# called `my_module.py` to exist:
#
py_modules=["upload_tm_records"],
#
#packages=find_packages(where='src'), # Required

# Specify which Python versions you support. In contrast to the
# 'Programming Language' classifiers above, 'pip install' will check this
# and refuse to install the project if the version does not match. See
# https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires
python_requires='>=3.7, <4',

# This field lists other packages that your project depends on to run.
# Any package you put here will be installed by pip when your project is
# installed, so they must be valid existing projects.
#
# For an analysis of "install_requires" vs pip's requirements files see:
# https://packaging.python.org/en/latest/requirements.html
install_requires=['requests'], # Optional

# To provide executable scripts, use entry points in preference to the
# "scripts" keyword. Entry points provide cross-platform support and allow
# `pip` to create the appropriate form of executable for the target
# platform.
#
# For example, the following would provide a command called `sample` which
# executes the function `main` from this package when invoked:
entry_points={ # Optional
'console_scripts': [
'upload-tm-records=upload_tm_records:main',
],
},

project_urls={ # Optional
'Bug Reports': 'https://github.com/rsnitsch/trackmania-records/issues',
'Source': 'https://github.com/rsnitsch/trackmania-records',
},
)
import codecs
import os.path
import pathlib
from setuptools import setup, find_packages

def read(rel_path):
here = os.path.abspath(os.path.dirname(__file__))
with codecs.open(os.path.join(here, rel_path), 'r') as fp:
return fp.read()

def get_version(rel_path):
for line in read(rel_path).splitlines():
if line.startswith('__version__'):
delim = '"' if '"' in line else "'"
return line.split(delim)[1]
else:
raise RuntimeError("Unable to find version string.")

here = pathlib.Path(__file__).parent.resolve()

long_description = (here / 'README.md').read_text(encoding='utf-8')

setup(
name='upload-tm-records',
# https://www.python.org/dev/peps/pep-0440/
version=get_version('src/upload_tm_records.py'),
description='Upload your trackmania records to a trackmania-records server!',
long_description=long_description,
long_description_content_type='text/markdown',
url='https://github.com/rsnitsch/trackmania-records',
author='Robert Nitsch',
author_email='mail@robertnitsch.de',
# For a list of valid classifiers, see https://pypi.org/classifiers/
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Console',
'Intended Audience :: End Users/Desktop',
'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
'Topic :: Games/Entertainment',

# Specify the Python versions you support here. In particular, ensure
# that you indicate you support Python 3. These classifiers are *not*
# checked by 'pip install'. See instead 'python_requires' below.
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3 :: Only',
],

# This field adds keywords for your project which will appear on the
# project page. What does your project relate to?
#
# Note that this is a list of additional keywords, separated
# by commas, to be used to assist searching for the distribution in a
# larger catalog.
keywords='trackmania, gaming', # Optional

package_dir={'': 'src'},

# You can just specify package directories manually here if your project is
# simple. Or you can use find_packages().
#
# Alternatively, if you just want to distribute a single Python file, use
# the `py_modules` argument instead as follows, which will expect a file
# called `my_module.py` to exist:
#
py_modules=["upload_tm_records"],
#
#packages=find_packages(where='src'), # Required

# Specify which Python versions you support. In contrast to the
# 'Programming Language' classifiers above, 'pip install' will check this
# and refuse to install the project if the version does not match. See
# https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires
python_requires='>=3.7, <4',

# This field lists other packages that your project depends on to run.
# Any package you put here will be installed by pip when your project is
# installed, so they must be valid existing projects.
#
# For an analysis of "install_requires" vs pip's requirements files see:
# https://packaging.python.org/en/latest/requirements.html
install_requires=['requests'], # Optional

# To provide executable scripts, use entry points in preference to the
# "scripts" keyword. Entry points provide cross-platform support and allow
# `pip` to create the appropriate form of executable for the target
# platform.
#
# For example, the following would provide a command called `sample` which
# executes the function `main` from this package when invoked:
entry_points={ # Optional
'console_scripts': [
'upload-tm-records=upload_tm_records:main',
],
},

project_urls={ # Optional
'Bug Reports': 'https://github.com/rsnitsch/trackmania-records/issues',
'Source': 'https://github.com/rsnitsch/trackmania-records',
},
)
Loading

0 comments on commit 48cbea0

Please sign in to comment.