Skip to content

Commit 7c335c0

Browse files
committed
add setup
1 parent 7a40a3b commit 7c335c0

File tree

5 files changed

+88
-29
lines changed

5 files changed

+88
-29
lines changed

MANIFEST.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
include requirements.txt
22
include nsfc/version/version.json
3-
include nsfc/data/*.db

nsfc/bin/__init__.py

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +0,0 @@
1-
import click
2-
3-
from nsfc import version_info
4-
from .crawl import main as crawl_cli
5-
from .build import main as build_cli
6-
from .query import main as query_cli
7-
8-
9-
@click.group(help=version_info['desc'])
10-
@click.version_option(version=version_info['version'])
11-
def cli(**kwargs):
12-
pass
13-
14-
15-
def main():
16-
cli.add_command(crawl_cli)
17-
cli.add_command(build_cli)
18-
cli.add_command(query_cli)
19-
cli()
20-
21-
22-
23-
if __name__ == '__main__':
24-
main()

nsfc/bin/main.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import click
2+
3+
from nsfc import version_info
4+
from nsfc.bin.crawl import main as crawl_cli
5+
from nsfc.bin.build import main as build_cli
6+
from nsfc.bin.query import main as query_cli
7+
8+
9+
CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'])
10+
11+
@click.group(help=version_info['desc'], context_settings=CONTEXT_SETTINGS)
12+
@click.version_option(version=version_info['version'])
13+
def cli(**kwargs):
14+
pass
15+
16+
17+
def main():
18+
cli.add_command(crawl_cli)
19+
cli.add_command(build_cli)
20+
cli.add_command(query_cli)
21+
cli()
22+
23+
24+
25+
if __name__ == '__main__':
26+
main()

nsfc/bin/query.py

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,29 @@
55
import click
66
from simple_loggers import SimpleLogger
77

8+
# from nsfc import DEFAULT_DB
89
from nsfc.db.model import Project
910
from nsfc.db.manager import Manager
10-
from nsfc import DEFAULT_DB
1111

12-
13-
@click.command(no_args_is_help=True, name='query', help='query data from the local database')
12+
DEFAULT_DB = ''
13+
14+
__epilog__ = click.style('''
15+
16+
\b
17+
examples:
18+
nsfc query -C
19+
nsfc query -C -s approval_year 2019
20+
nsfc query -C -s approval_year 2019 -s subject_code "%A%"
21+
nsfc query -C -s approval_year 2015-2019 -s subject_code "%C01%"
22+
nsfc query -o A.2019.jl -s approval_year 2019 -s subject_code "%A%"
23+
nsfc query -F tsv -o A.2019.tsv -s approval_year 2019 -s subject_code "%A%"
24+
nsfc query -L 5 -s approval_year 2019
25+
''', fg='yellow')
26+
27+
@click.command(no_args_is_help=True,
28+
name='query',
29+
epilog=__epilog__,
30+
help='query data from the local database')
1431
@click.option('-d', '--dbfile', help='the database file', default=DEFAULT_DB, show_default=True)
1532

1633
@click.option('-s', '--search', help='the search string, eg. project_id 41950410575', multiple=True, nargs=2)
@@ -27,7 +44,7 @@
2744
show_choices=True, show_default=True)
2845
def main(**kwargs):
2946

30-
logger = SimpleLogger('QUERY')
47+
logger = SimpleLogger('STATS')
3148
logger.level = logger.level_maps[kwargs['log_level']]
3249

3350
logger.info(f'input arguments: {kwargs}')

setup.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import os
2+
import json
3+
import codecs
4+
from setuptools import setup, find_packages
5+
6+
7+
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
8+
version_info = json.load(open(os.path.join(BASE_DIR, 'nsfc', 'version', 'version.json')))
9+
10+
11+
setup(
12+
name=version_info['prog'],
13+
version=version_info['version'],
14+
author=version_info['author'],
15+
author_email=version_info['author_email'],
16+
description=version_info['desc'],
17+
long_description=codecs.open(os.path.join(BASE_DIR, 'README.md'), encoding='utf-8').read(),
18+
long_description_content_type="text/markdown",
19+
url='https://github.com/suqingdong/nsfc',
20+
project_urls={
21+
'Documentation': 'https://nsfc.readthedocs.io',
22+
'Tracker': 'https://github.com/suqingdong/nsfc/issues',
23+
},
24+
license='BSD License',
25+
install_requires=codecs.open(os.path.join(BASE_DIR, 'requirements.txt'), encoding='utf-8').read().split('\n'),
26+
packages=find_packages(),
27+
include_package_data=True,
28+
entry_points={'console_scripts': [
29+
'nsfc = nsfc.bin.main:main',
30+
]},
31+
classifiers=[
32+
'Development Status :: 5 - Production/Stable',
33+
'Operating System :: OS Independent',
34+
'Intended Audience :: Developers',
35+
'License :: OSI Approved :: MIT License',
36+
'Programming Language :: Python',
37+
'Programming Language :: Python :: 3',
38+
'Programming Language :: Python :: 3.8',
39+
'Topic :: Software Development :: Libraries'
40+
]
41+
)

0 commit comments

Comments
 (0)