diff options
Diffstat (limited to 'python-pyscp.spec')
| -rw-r--r-- | python-pyscp.spec | 393 |
1 files changed, 393 insertions, 0 deletions
diff --git a/python-pyscp.spec b/python-pyscp.spec new file mode 100644 index 0000000..9f93925 --- /dev/null +++ b/python-pyscp.spec @@ -0,0 +1,393 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pyscp +Version: 1.1.20 +Release: 1 +Summary: Python API and utilities for the www.scpwiki.com website. +License: MIT +URL: https://github.com/MrNereof/pyscp/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/95/ad/f2546ca6b2ea206c18651113bc0b0cc2a67632e20326b315034ce6231d88/pyscp-1.1.20.tar.gz +BuildArch: noarch + + +%description +# pyscp + +[](https://www.python.org/) +[](https://pypi.python.org/pypi/pyscp/) +[](https://pypi.python.org/pypi/pyscp/) +[](https://pypi.python.org/pypi/pyscp/) + +**pyscp** is a python library for interacting with wikidot-hosted websites. The library is mainly intended for use by the administrative staff of the www.scpwiki.com website, and has a host of feature exclusive to it. However, the majority of the core functionality should be applicalbe to any wikidot-based site. + +## Installation + +Open console and run the following command: +``` +pip install pyscp +``` +Done. + +## Examples + +### Acessing Pages + +```python +import pyscp + +wiki = pyscp.wikidot.Wiki('www.scpwiki.com') +p = wiki('scp-837') +print( + '"{}" has a rating of {}, {} revisions, and {} comments.' + .format(p.title, p.rating, len(p.history), len(p.comments))) +``` +``` +"SCP-837: Multiplying Clay" has a rating of 108, 14 revisions, and 54 comments. +``` + +You can access other sites as well: + +```python +ru_wiki = pyscp.wikidot.Wiki('scpfoundation.net') +p = ru_wiki('scp-837') +print('"{}" was created by {} on {}.'.format(p.title, p.author, p.created)) +``` +``` +"SCP-837 - Глина умножения" was created by Gene R on 2012-12-26 11:12:13. +``` + +If the site doesn't use a custom domain, you can use the name of the site instead of the full url. E.g. `Wiki('scpsandbox2')` is the same as `Wiki('scpsandbox2.wikidot.com')`. + +### Editing Pages + +```python + +wiki = pyscp.wikidot.Wiki('scp-sandbox-3') +wiki.auth('example_username', 'example_password') +p = wiki('test') +last_revision = p.history[-1].number +p.edit( + source='= This is centered **text** that uses Wikidot markup.', + title="you can skip the title if you don't want changing it", + #you can leave out the comment too, but that'd be rude + comment='testing automated editing') +print(p.text) # see if it worked +p.revert(last_revision) # let's revert it back to what it were. +``` +``` +This is centered text that uses Wikidot markup. +``` + + +### Snapshots + +When working with large number of pages, it could be faster to create a snapshot of the site than to download the pages one by one. Snapshots are optimized to download a large amount of data in the shortest possible time using multithreading. + +```python +import pyscp + +creator = pyscp.snapshot.SnapshotCreator('snapshot_file.db') +creator.take_snapshot('www.scpwiki.com', forums=False) +# that's where we wait half an hour for it to finish +``` + +Once a snapshot is created, you can use `snapshot.Wiki` to read pages same as in the first example: + +```python +wiki = pyscp.snapshot.Wiki('www.scpwiki.com', 'snapshot_file.db') +p = wiki('scp-9005-2') +print( + '"{}" has a rating of {}, was created by {}, and is awesome.' + .format(p.title, p.rating, p.author)) +print('Other pages by {}:'.format(p.author)) +for other in wiki.list_pages(author=p.author): + print( + '{} (rating: {}, created: {})' + .format(other.title, other.rating, other.created)) +``` +``` +Page "SCP-9005-2" has a rating of 80, was created by yellowdrakex, and is awesome. +Other pages by yellowdrakex: +ClusterfREDACTED (rating: 112, created: 2011-10-20 18:08:49) +Dr Rights' Draft Box (rating: None, created: 2009-02-01 18:58:36) +Dr. Rights' Personal Log (rating: 3, created: 2008-11-26 23:03:27) +Dr. Rights' Personnel File (rating: 13, created: 2008-11-24 20:45:34) +Fifteen To Sixteen (rating: 17, created: 2010-02-15 05:55:58) +Great Short Story Concepts (rating: 1, created: 2010-06-03 19:26:06) +RUN AWAY FOREVURRR (rating: 79, created: 2011-10-24 16:34:23) +SCP-288: The "Stepford Marriage" Rings (rating: 56, created: 2008-11-27 07:47:01) +SCP-291: Disassembler/Reassembler (rating: 113, created: 2008-11-24 20:11:11) +... +``` + +%package -n python3-pyscp +Summary: Python API and utilities for the www.scpwiki.com website. +Provides: python-pyscp +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pyscp +# pyscp + +[](https://www.python.org/) +[](https://pypi.python.org/pypi/pyscp/) +[](https://pypi.python.org/pypi/pyscp/) +[](https://pypi.python.org/pypi/pyscp/) + +**pyscp** is a python library for interacting with wikidot-hosted websites. The library is mainly intended for use by the administrative staff of the www.scpwiki.com website, and has a host of feature exclusive to it. However, the majority of the core functionality should be applicalbe to any wikidot-based site. + +## Installation + +Open console and run the following command: +``` +pip install pyscp +``` +Done. + +## Examples + +### Acessing Pages + +```python +import pyscp + +wiki = pyscp.wikidot.Wiki('www.scpwiki.com') +p = wiki('scp-837') +print( + '"{}" has a rating of {}, {} revisions, and {} comments.' + .format(p.title, p.rating, len(p.history), len(p.comments))) +``` +``` +"SCP-837: Multiplying Clay" has a rating of 108, 14 revisions, and 54 comments. +``` + +You can access other sites as well: + +```python +ru_wiki = pyscp.wikidot.Wiki('scpfoundation.net') +p = ru_wiki('scp-837') +print('"{}" was created by {} on {}.'.format(p.title, p.author, p.created)) +``` +``` +"SCP-837 - Глина умножения" was created by Gene R on 2012-12-26 11:12:13. +``` + +If the site doesn't use a custom domain, you can use the name of the site instead of the full url. E.g. `Wiki('scpsandbox2')` is the same as `Wiki('scpsandbox2.wikidot.com')`. + +### Editing Pages + +```python + +wiki = pyscp.wikidot.Wiki('scp-sandbox-3') +wiki.auth('example_username', 'example_password') +p = wiki('test') +last_revision = p.history[-1].number +p.edit( + source='= This is centered **text** that uses Wikidot markup.', + title="you can skip the title if you don't want changing it", + #you can leave out the comment too, but that'd be rude + comment='testing automated editing') +print(p.text) # see if it worked +p.revert(last_revision) # let's revert it back to what it were. +``` +``` +This is centered text that uses Wikidot markup. +``` + + +### Snapshots + +When working with large number of pages, it could be faster to create a snapshot of the site than to download the pages one by one. Snapshots are optimized to download a large amount of data in the shortest possible time using multithreading. + +```python +import pyscp + +creator = pyscp.snapshot.SnapshotCreator('snapshot_file.db') +creator.take_snapshot('www.scpwiki.com', forums=False) +# that's where we wait half an hour for it to finish +``` + +Once a snapshot is created, you can use `snapshot.Wiki` to read pages same as in the first example: + +```python +wiki = pyscp.snapshot.Wiki('www.scpwiki.com', 'snapshot_file.db') +p = wiki('scp-9005-2') +print( + '"{}" has a rating of {}, was created by {}, and is awesome.' + .format(p.title, p.rating, p.author)) +print('Other pages by {}:'.format(p.author)) +for other in wiki.list_pages(author=p.author): + print( + '{} (rating: {}, created: {})' + .format(other.title, other.rating, other.created)) +``` +``` +Page "SCP-9005-2" has a rating of 80, was created by yellowdrakex, and is awesome. +Other pages by yellowdrakex: +ClusterfREDACTED (rating: 112, created: 2011-10-20 18:08:49) +Dr Rights' Draft Box (rating: None, created: 2009-02-01 18:58:36) +Dr. Rights' Personal Log (rating: 3, created: 2008-11-26 23:03:27) +Dr. Rights' Personnel File (rating: 13, created: 2008-11-24 20:45:34) +Fifteen To Sixteen (rating: 17, created: 2010-02-15 05:55:58) +Great Short Story Concepts (rating: 1, created: 2010-06-03 19:26:06) +RUN AWAY FOREVURRR (rating: 79, created: 2011-10-24 16:34:23) +SCP-288: The "Stepford Marriage" Rings (rating: 56, created: 2008-11-27 07:47:01) +SCP-291: Disassembler/Reassembler (rating: 113, created: 2008-11-24 20:11:11) +... +``` + +%package help +Summary: Development documents and examples for pyscp +Provides: python3-pyscp-doc +%description help +# pyscp + +[](https://www.python.org/) +[](https://pypi.python.org/pypi/pyscp/) +[](https://pypi.python.org/pypi/pyscp/) +[](https://pypi.python.org/pypi/pyscp/) + +**pyscp** is a python library for interacting with wikidot-hosted websites. The library is mainly intended for use by the administrative staff of the www.scpwiki.com website, and has a host of feature exclusive to it. However, the majority of the core functionality should be applicalbe to any wikidot-based site. + +## Installation + +Open console and run the following command: +``` +pip install pyscp +``` +Done. + +## Examples + +### Acessing Pages + +```python +import pyscp + +wiki = pyscp.wikidot.Wiki('www.scpwiki.com') +p = wiki('scp-837') +print( + '"{}" has a rating of {}, {} revisions, and {} comments.' + .format(p.title, p.rating, len(p.history), len(p.comments))) +``` +``` +"SCP-837: Multiplying Clay" has a rating of 108, 14 revisions, and 54 comments. +``` + +You can access other sites as well: + +```python +ru_wiki = pyscp.wikidot.Wiki('scpfoundation.net') +p = ru_wiki('scp-837') +print('"{}" was created by {} on {}.'.format(p.title, p.author, p.created)) +``` +``` +"SCP-837 - Глина умножения" was created by Gene R on 2012-12-26 11:12:13. +``` + +If the site doesn't use a custom domain, you can use the name of the site instead of the full url. E.g. `Wiki('scpsandbox2')` is the same as `Wiki('scpsandbox2.wikidot.com')`. + +### Editing Pages + +```python + +wiki = pyscp.wikidot.Wiki('scp-sandbox-3') +wiki.auth('example_username', 'example_password') +p = wiki('test') +last_revision = p.history[-1].number +p.edit( + source='= This is centered **text** that uses Wikidot markup.', + title="you can skip the title if you don't want changing it", + #you can leave out the comment too, but that'd be rude + comment='testing automated editing') +print(p.text) # see if it worked +p.revert(last_revision) # let's revert it back to what it were. +``` +``` +This is centered text that uses Wikidot markup. +``` + + +### Snapshots + +When working with large number of pages, it could be faster to create a snapshot of the site than to download the pages one by one. Snapshots are optimized to download a large amount of data in the shortest possible time using multithreading. + +```python +import pyscp + +creator = pyscp.snapshot.SnapshotCreator('snapshot_file.db') +creator.take_snapshot('www.scpwiki.com', forums=False) +# that's where we wait half an hour for it to finish +``` + +Once a snapshot is created, you can use `snapshot.Wiki` to read pages same as in the first example: + +```python +wiki = pyscp.snapshot.Wiki('www.scpwiki.com', 'snapshot_file.db') +p = wiki('scp-9005-2') +print( + '"{}" has a rating of {}, was created by {}, and is awesome.' + .format(p.title, p.rating, p.author)) +print('Other pages by {}:'.format(p.author)) +for other in wiki.list_pages(author=p.author): + print( + '{} (rating: {}, created: {})' + .format(other.title, other.rating, other.created)) +``` +``` +Page "SCP-9005-2" has a rating of 80, was created by yellowdrakex, and is awesome. +Other pages by yellowdrakex: +ClusterfREDACTED (rating: 112, created: 2011-10-20 18:08:49) +Dr Rights' Draft Box (rating: None, created: 2009-02-01 18:58:36) +Dr. Rights' Personal Log (rating: 3, created: 2008-11-26 23:03:27) +Dr. Rights' Personnel File (rating: 13, created: 2008-11-24 20:45:34) +Fifteen To Sixteen (rating: 17, created: 2010-02-15 05:55:58) +Great Short Story Concepts (rating: 1, created: 2010-06-03 19:26:06) +RUN AWAY FOREVURRR (rating: 79, created: 2011-10-24 16:34:23) +SCP-288: The "Stepford Marriage" Rings (rating: 56, created: 2008-11-27 07:47:01) +SCP-291: Disassembler/Reassembler (rating: 113, created: 2008-11-24 20:11:11) +... +``` + +%prep +%autosetup -n pyscp-1.1.20 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-pyscp -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 17 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.20-1 +- Package Spec generated |
