%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 [![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/) [![PyPI license](https://img.shields.io/pypi/l/pyscp.svg)](https://pypi.python.org/pypi/pyscp/) [![PyPI version shields.io](https://img.shields.io/pypi/v/pyscp.svg)](https://pypi.python.org/pypi/pyscp/) [![PyPI pyversions](https://img.shields.io/pypi/pyversions/pyscp.svg)](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 [![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/) [![PyPI license](https://img.shields.io/pypi/l/pyscp.svg)](https://pypi.python.org/pypi/pyscp/) [![PyPI version shields.io](https://img.shields.io/pypi/v/pyscp.svg)](https://pypi.python.org/pypi/pyscp/) [![PyPI pyversions](https://img.shields.io/pypi/pyversions/pyscp.svg)](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 [![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/) [![PyPI license](https://img.shields.io/pypi/l/pyscp.svg)](https://pypi.python.org/pypi/pyscp/) [![PyPI version shields.io](https://img.shields.io/pypi/v/pyscp.svg)](https://pypi.python.org/pypi/pyscp/) [![PyPI pyversions](https://img.shields.io/pypi/pyversions/pyscp.svg)](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 * Tue May 30 2023 Python_Bot - 1.1.20-1 - Package Spec generated