summaryrefslogtreecommitdiff
path: root/python-mojangapi.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-mojangapi.spec')
-rw-r--r--python-mojangapi.spec276
1 files changed, 276 insertions, 0 deletions
diff --git a/python-mojangapi.spec b/python-mojangapi.spec
new file mode 100644
index 0000000..1535ce8
--- /dev/null
+++ b/python-mojangapi.spec
@@ -0,0 +1,276 @@
+%global _empty_manifest_terminate_build 0
+Name: python-MojangAPI
+Version: 0.0.5
+Release: 1
+Summary: An async python wrapper for Mojangs API and Authentication API
+License: MIT License
+URL: https://github.com/Jack92829/Mojang-API-Wrapper
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b3/4a/2d2c51e89317e359433c0eb13b5b683968f1d58ec7fff565b949d94bc033/MojangAPI-0.0.5.tar.gz
+BuildArch: noarch
+
+
+%description
+# Mojang-API-Wrapper
+## Overview
+* Pythonic wrapper making use of `await` and `asnyc`
+* 100% Coverage of Mojang's API and Authentication API
+
+# Examples
+### Accessing a players skin
+```python
+from MojangAPI import Client
+import asyncio
+
+async def main():
+ user = await Client.User.createUser('Minecraft playername')
+ profile = await user.getProfile()
+ print(profile.skin) # Will print the skins URL
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(main())
+```
+
+
+### Changing a players skin
+<details><summary>Note</summary>
+<p>
+Please note that Mojang's API may not trust your IP. To check if this is the case run the following code:
+
+```python
+from MojangAPI import Client
+import asyncio
+
+async def main():
+ user = await Client.User.createUser('Minecraft playername')
+ await user.authenticate('Mojang Email', 'Mojang password')
+ await user.checkForSecurityQuestions()
+ # Will raise an error if untrusted
+```
+
+If your IP is untrusted you can complete security challenges to become trusted (I believe you only need to do this once). To get the security questions your Mojang account will need them active (refer to https://help.minecraft.net/hc/en-us/articles/360034686852-Resetting-Security-Questions). After which run `questions = await user.getSecurityQuestions()` to get the questions, and then `await user.sendSecurityAnswers(answers)` with the answers in the form refered to in the API's documentation (https://wiki.vg/Mojang_API#Send_back_the_answers).
+</p>
+</details>
+
+```python
+from MojangAPI import Client
+import asyncio
+
+async def main():
+ user = await Client.User.createUser('Minecraft playername')
+ await user.authenticate('Mojang Email', 'Mojang password')
+ await user.changeSkin('Skin url', slim_model = True)
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(main())
+```
+
+### Getting sales data
+```python
+from MojangAPI import DataService
+import asyncio
+
+async def main():
+ data = await DataService.Data.getStatistics(prepaid_card_redeemed_minecraft=True)
+ # Valid keyword arguments can be found at https://wiki.vg/Mojang_API#Payload_4
+ print(data)
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(main())
+```
+
+
+
+%package -n python3-MojangAPI
+Summary: An async python wrapper for Mojangs API and Authentication API
+Provides: python-MojangAPI
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-MojangAPI
+# Mojang-API-Wrapper
+## Overview
+* Pythonic wrapper making use of `await` and `asnyc`
+* 100% Coverage of Mojang's API and Authentication API
+
+# Examples
+### Accessing a players skin
+```python
+from MojangAPI import Client
+import asyncio
+
+async def main():
+ user = await Client.User.createUser('Minecraft playername')
+ profile = await user.getProfile()
+ print(profile.skin) # Will print the skins URL
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(main())
+```
+
+
+### Changing a players skin
+<details><summary>Note</summary>
+<p>
+Please note that Mojang's API may not trust your IP. To check if this is the case run the following code:
+
+```python
+from MojangAPI import Client
+import asyncio
+
+async def main():
+ user = await Client.User.createUser('Minecraft playername')
+ await user.authenticate('Mojang Email', 'Mojang password')
+ await user.checkForSecurityQuestions()
+ # Will raise an error if untrusted
+```
+
+If your IP is untrusted you can complete security challenges to become trusted (I believe you only need to do this once). To get the security questions your Mojang account will need them active (refer to https://help.minecraft.net/hc/en-us/articles/360034686852-Resetting-Security-Questions). After which run `questions = await user.getSecurityQuestions()` to get the questions, and then `await user.sendSecurityAnswers(answers)` with the answers in the form refered to in the API's documentation (https://wiki.vg/Mojang_API#Send_back_the_answers).
+</p>
+</details>
+
+```python
+from MojangAPI import Client
+import asyncio
+
+async def main():
+ user = await Client.User.createUser('Minecraft playername')
+ await user.authenticate('Mojang Email', 'Mojang password')
+ await user.changeSkin('Skin url', slim_model = True)
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(main())
+```
+
+### Getting sales data
+```python
+from MojangAPI import DataService
+import asyncio
+
+async def main():
+ data = await DataService.Data.getStatistics(prepaid_card_redeemed_minecraft=True)
+ # Valid keyword arguments can be found at https://wiki.vg/Mojang_API#Payload_4
+ print(data)
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(main())
+```
+
+
+
+%package help
+Summary: Development documents and examples for MojangAPI
+Provides: python3-MojangAPI-doc
+%description help
+# Mojang-API-Wrapper
+## Overview
+* Pythonic wrapper making use of `await` and `asnyc`
+* 100% Coverage of Mojang's API and Authentication API
+
+# Examples
+### Accessing a players skin
+```python
+from MojangAPI import Client
+import asyncio
+
+async def main():
+ user = await Client.User.createUser('Minecraft playername')
+ profile = await user.getProfile()
+ print(profile.skin) # Will print the skins URL
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(main())
+```
+
+
+### Changing a players skin
+<details><summary>Note</summary>
+<p>
+Please note that Mojang's API may not trust your IP. To check if this is the case run the following code:
+
+```python
+from MojangAPI import Client
+import asyncio
+
+async def main():
+ user = await Client.User.createUser('Minecraft playername')
+ await user.authenticate('Mojang Email', 'Mojang password')
+ await user.checkForSecurityQuestions()
+ # Will raise an error if untrusted
+```
+
+If your IP is untrusted you can complete security challenges to become trusted (I believe you only need to do this once). To get the security questions your Mojang account will need them active (refer to https://help.minecraft.net/hc/en-us/articles/360034686852-Resetting-Security-Questions). After which run `questions = await user.getSecurityQuestions()` to get the questions, and then `await user.sendSecurityAnswers(answers)` with the answers in the form refered to in the API's documentation (https://wiki.vg/Mojang_API#Send_back_the_answers).
+</p>
+</details>
+
+```python
+from MojangAPI import Client
+import asyncio
+
+async def main():
+ user = await Client.User.createUser('Minecraft playername')
+ await user.authenticate('Mojang Email', 'Mojang password')
+ await user.changeSkin('Skin url', slim_model = True)
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(main())
+```
+
+### Getting sales data
+```python
+from MojangAPI import DataService
+import asyncio
+
+async def main():
+ data = await DataService.Data.getStatistics(prepaid_card_redeemed_minecraft=True)
+ # Valid keyword arguments can be found at https://wiki.vg/Mojang_API#Payload_4
+ print(data)
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(main())
+```
+
+
+
+%prep
+%autosetup -n MojangAPI-0.0.5
+
+%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-MojangAPI -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.5-1
+- Package Spec generated