summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-googleapi.spec424
-rw-r--r--sources1
3 files changed, 426 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..38e6feb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/googleAPI-0.1.0.tar.gz
diff --git a/python-googleapi.spec b/python-googleapi.spec
new file mode 100644
index 0000000..3750a2a
--- /dev/null
+++ b/python-googleapi.spec
@@ -0,0 +1,424 @@
+%global _empty_manifest_terminate_build 0
+Name: python-googleAPI
+Version: 0.1.0
+Release: 1
+Summary: A high-level python interface to Google APIs
+License: MIT License
+URL: https://github.com/zy2327/googleAPI
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d8/f4/b6fd50a5bae8bbe7aae9e0f8d488dc6ae5d70cd9c0ec4305b591d05db616/googleAPI-0.1.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-google
+Requires: python3-google-api-core
+Requires: python3-google-api-python-client
+Requires: python3-google-auth
+Requires: python3-google-auth-httplib2
+Requires: python3-google-auth-oauthlib
+Requires: python3-google-pasta
+Requires: python3-googleapis-common-protos
+Requires: python3-oauth2client
+Requires: python3-oauthlib
+
+%description
+# Google API
+
+This is a python package that handles all the work with Google services, including Google Drive, Google Sheet, and Gmail. It is a high-level interface of the [Google API](https://developers.google.com/apis-explorer). The downside of using the official Google API directly is that its documentation is written in Python 2.x, making it hard to follow.
+
+To use the google API, the first step is to get the 'credentials.json'. The most easiest way would be visiting the [Google Drive API Quickstart](https://developers.google.com/drive/api/v3/quickstart/go) and click the `Enable the Drive API` button in the "Step 1: Turn on the Drive API" section. Then voliá, there you go! No need to deal with the project, service account, etc.
+
+This package utilize [Drive API v3](https://developers.google.com/drive/api/v3/reference), [Google Sheets API v4](https://developers.google.com/sheets/api/reference/rest), [Gmail API v1](https://developers.google.com/gmail/api/v1/reference/).
+
+
+## Installation
+
+`pip install googleAPI`
+
+## Dependencies
+
+- google-api-python-client
+- google-auth-httplib2
+- google-auth-oauthlib
+
+## Documentation
+
+### Credential
+
+Credential is needed for every API. Thus, `GoogleCredential()` is the base class of all the other classes.
+
+_Note: Unless you want to write customized functions, you could skip this section._
+
+Suppose we want to get Google Drive credential with all scopes to write customized functions.
+
+``` python
+# Step 1: import the module
+from googleAPI.credential import *
+
+# Step 2: Instance `GoogleCredential()` class
+gc = GoogleCredential()
+
+# Step 3: Get credential
+# `credential_path` is the place where 'credentials.json' is stored.
+# There will be a prompt web page that will download the 'token.pickle'
+# into `credential_path`.
+creds = gc.credential(credential_path='',
+ credential_scopes=['https://www.googleapis.com/auth/drive'])
+```
+
+The argument `credential_scopes` is required. For all the scopes you can choose, visit [OAuth 2.0 Scopes for Google APIs](https://developers.google.com/identity/protocols/oauth2/scopes).
+
+
+### GoogleDrive
+
+Google Drive is a cloud storage where you store the files and folder. `GoogleDrive()` enable you to search for file ID, get file metadata, download files, etc.
+
+Suppose we want to download a .csv file from the Google Drive.
+
+``` python
+# Step 1: import the module
+from googleAPI.drive import *
+
+# Step 2: Instance `GoogleDrive` class with credential
+# If this is the first time you use this package, `credential_path` is
+# the place where 'credentials.json' is stored. There will be a prompt
+# web page that will download the 'GoogleDrive_token.pickle' into `credential_path`.
+# If you already have 'GoogleDrive_token.pickle' file, `credential_path`
+# is the place where it is stored.
+# If you already have the credential in the run time, use `creds` argument.
+gd = GoogleDrive(credential_path='')
+
+# Step 3: Search the file ID in Google Drive
+# Use the file name to locate the file ID. File ID is the unique identifier
+# that Google API uses.
+# You can also find the file ID inside the link if you open the file in a
+# web page. The ID is the characters after `/d/{ID}`.
+file_id = gd.search_file('test.csv')
+
+# Step 4: Download the file
+# If you want to download the file into run time as a file pointer, leave the
+# `save_as` argument blank.
+# If you want to download it as a file, specify the `save_as` argument.
+gd.download_file(file_id['test.csv'][0], save_as='test.csv')
+```
+
+### GoogleSheet
+
+Suppose we want to download a GoogleSheet named `Google Sheet 1` as an Microsoft Excel file `Google Sheet 1.xlsx`.
+
+``` python
+# Step 1: import the module
+from googleAPI.sheet import *
+
+# Step 2: Instance `GoogleSheet` class with credential
+gs = GoogleSheet(credential_path='')
+
+# Step 3: Find the Google Sheet ID using spreadsheet name
+# The result of the `GoogleSheet.search_spreadsheet()` is
+# saved in a list inside a dictionary in line with the
+# `GoogleDrive.search_files()`
+spreadsheet_id = gs.search_spreadsheet("Google Sheet 1")[
+ "Google Sheet 1"
+ ][0]
+
+# Step 4: Download the Google Sheet
+gs.download_spreadsheet(spreadsheet_id,
+ save_as="Google Sheet 1.xlsx")
+```
+
+Suppose we already have the spreadsheet ID and we just want to get the values
+from a particular sheet `Sheet1`.
+``` python
+values = gs.get_values(spreadsheet_id, range_="'Sheet1'")
+```
+
+
+
+
+
+
+
+%package -n python3-googleAPI
+Summary: A high-level python interface to Google APIs
+Provides: python-googleAPI
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-googleAPI
+# Google API
+
+This is a python package that handles all the work with Google services, including Google Drive, Google Sheet, and Gmail. It is a high-level interface of the [Google API](https://developers.google.com/apis-explorer). The downside of using the official Google API directly is that its documentation is written in Python 2.x, making it hard to follow.
+
+To use the google API, the first step is to get the 'credentials.json'. The most easiest way would be visiting the [Google Drive API Quickstart](https://developers.google.com/drive/api/v3/quickstart/go) and click the `Enable the Drive API` button in the "Step 1: Turn on the Drive API" section. Then voliá, there you go! No need to deal with the project, service account, etc.
+
+This package utilize [Drive API v3](https://developers.google.com/drive/api/v3/reference), [Google Sheets API v4](https://developers.google.com/sheets/api/reference/rest), [Gmail API v1](https://developers.google.com/gmail/api/v1/reference/).
+
+
+## Installation
+
+`pip install googleAPI`
+
+## Dependencies
+
+- google-api-python-client
+- google-auth-httplib2
+- google-auth-oauthlib
+
+## Documentation
+
+### Credential
+
+Credential is needed for every API. Thus, `GoogleCredential()` is the base class of all the other classes.
+
+_Note: Unless you want to write customized functions, you could skip this section._
+
+Suppose we want to get Google Drive credential with all scopes to write customized functions.
+
+``` python
+# Step 1: import the module
+from googleAPI.credential import *
+
+# Step 2: Instance `GoogleCredential()` class
+gc = GoogleCredential()
+
+# Step 3: Get credential
+# `credential_path` is the place where 'credentials.json' is stored.
+# There will be a prompt web page that will download the 'token.pickle'
+# into `credential_path`.
+creds = gc.credential(credential_path='',
+ credential_scopes=['https://www.googleapis.com/auth/drive'])
+```
+
+The argument `credential_scopes` is required. For all the scopes you can choose, visit [OAuth 2.0 Scopes for Google APIs](https://developers.google.com/identity/protocols/oauth2/scopes).
+
+
+### GoogleDrive
+
+Google Drive is a cloud storage where you store the files and folder. `GoogleDrive()` enable you to search for file ID, get file metadata, download files, etc.
+
+Suppose we want to download a .csv file from the Google Drive.
+
+``` python
+# Step 1: import the module
+from googleAPI.drive import *
+
+# Step 2: Instance `GoogleDrive` class with credential
+# If this is the first time you use this package, `credential_path` is
+# the place where 'credentials.json' is stored. There will be a prompt
+# web page that will download the 'GoogleDrive_token.pickle' into `credential_path`.
+# If you already have 'GoogleDrive_token.pickle' file, `credential_path`
+# is the place where it is stored.
+# If you already have the credential in the run time, use `creds` argument.
+gd = GoogleDrive(credential_path='')
+
+# Step 3: Search the file ID in Google Drive
+# Use the file name to locate the file ID. File ID is the unique identifier
+# that Google API uses.
+# You can also find the file ID inside the link if you open the file in a
+# web page. The ID is the characters after `/d/{ID}`.
+file_id = gd.search_file('test.csv')
+
+# Step 4: Download the file
+# If you want to download the file into run time as a file pointer, leave the
+# `save_as` argument blank.
+# If you want to download it as a file, specify the `save_as` argument.
+gd.download_file(file_id['test.csv'][0], save_as='test.csv')
+```
+
+### GoogleSheet
+
+Suppose we want to download a GoogleSheet named `Google Sheet 1` as an Microsoft Excel file `Google Sheet 1.xlsx`.
+
+``` python
+# Step 1: import the module
+from googleAPI.sheet import *
+
+# Step 2: Instance `GoogleSheet` class with credential
+gs = GoogleSheet(credential_path='')
+
+# Step 3: Find the Google Sheet ID using spreadsheet name
+# The result of the `GoogleSheet.search_spreadsheet()` is
+# saved in a list inside a dictionary in line with the
+# `GoogleDrive.search_files()`
+spreadsheet_id = gs.search_spreadsheet("Google Sheet 1")[
+ "Google Sheet 1"
+ ][0]
+
+# Step 4: Download the Google Sheet
+gs.download_spreadsheet(spreadsheet_id,
+ save_as="Google Sheet 1.xlsx")
+```
+
+Suppose we already have the spreadsheet ID and we just want to get the values
+from a particular sheet `Sheet1`.
+``` python
+values = gs.get_values(spreadsheet_id, range_="'Sheet1'")
+```
+
+
+
+
+
+
+
+%package help
+Summary: Development documents and examples for googleAPI
+Provides: python3-googleAPI-doc
+%description help
+# Google API
+
+This is a python package that handles all the work with Google services, including Google Drive, Google Sheet, and Gmail. It is a high-level interface of the [Google API](https://developers.google.com/apis-explorer). The downside of using the official Google API directly is that its documentation is written in Python 2.x, making it hard to follow.
+
+To use the google API, the first step is to get the 'credentials.json'. The most easiest way would be visiting the [Google Drive API Quickstart](https://developers.google.com/drive/api/v3/quickstart/go) and click the `Enable the Drive API` button in the "Step 1: Turn on the Drive API" section. Then voliá, there you go! No need to deal with the project, service account, etc.
+
+This package utilize [Drive API v3](https://developers.google.com/drive/api/v3/reference), [Google Sheets API v4](https://developers.google.com/sheets/api/reference/rest), [Gmail API v1](https://developers.google.com/gmail/api/v1/reference/).
+
+
+## Installation
+
+`pip install googleAPI`
+
+## Dependencies
+
+- google-api-python-client
+- google-auth-httplib2
+- google-auth-oauthlib
+
+## Documentation
+
+### Credential
+
+Credential is needed for every API. Thus, `GoogleCredential()` is the base class of all the other classes.
+
+_Note: Unless you want to write customized functions, you could skip this section._
+
+Suppose we want to get Google Drive credential with all scopes to write customized functions.
+
+``` python
+# Step 1: import the module
+from googleAPI.credential import *
+
+# Step 2: Instance `GoogleCredential()` class
+gc = GoogleCredential()
+
+# Step 3: Get credential
+# `credential_path` is the place where 'credentials.json' is stored.
+# There will be a prompt web page that will download the 'token.pickle'
+# into `credential_path`.
+creds = gc.credential(credential_path='',
+ credential_scopes=['https://www.googleapis.com/auth/drive'])
+```
+
+The argument `credential_scopes` is required. For all the scopes you can choose, visit [OAuth 2.0 Scopes for Google APIs](https://developers.google.com/identity/protocols/oauth2/scopes).
+
+
+### GoogleDrive
+
+Google Drive is a cloud storage where you store the files and folder. `GoogleDrive()` enable you to search for file ID, get file metadata, download files, etc.
+
+Suppose we want to download a .csv file from the Google Drive.
+
+``` python
+# Step 1: import the module
+from googleAPI.drive import *
+
+# Step 2: Instance `GoogleDrive` class with credential
+# If this is the first time you use this package, `credential_path` is
+# the place where 'credentials.json' is stored. There will be a prompt
+# web page that will download the 'GoogleDrive_token.pickle' into `credential_path`.
+# If you already have 'GoogleDrive_token.pickle' file, `credential_path`
+# is the place where it is stored.
+# If you already have the credential in the run time, use `creds` argument.
+gd = GoogleDrive(credential_path='')
+
+# Step 3: Search the file ID in Google Drive
+# Use the file name to locate the file ID. File ID is the unique identifier
+# that Google API uses.
+# You can also find the file ID inside the link if you open the file in a
+# web page. The ID is the characters after `/d/{ID}`.
+file_id = gd.search_file('test.csv')
+
+# Step 4: Download the file
+# If you want to download the file into run time as a file pointer, leave the
+# `save_as` argument blank.
+# If you want to download it as a file, specify the `save_as` argument.
+gd.download_file(file_id['test.csv'][0], save_as='test.csv')
+```
+
+### GoogleSheet
+
+Suppose we want to download a GoogleSheet named `Google Sheet 1` as an Microsoft Excel file `Google Sheet 1.xlsx`.
+
+``` python
+# Step 1: import the module
+from googleAPI.sheet import *
+
+# Step 2: Instance `GoogleSheet` class with credential
+gs = GoogleSheet(credential_path='')
+
+# Step 3: Find the Google Sheet ID using spreadsheet name
+# The result of the `GoogleSheet.search_spreadsheet()` is
+# saved in a list inside a dictionary in line with the
+# `GoogleDrive.search_files()`
+spreadsheet_id = gs.search_spreadsheet("Google Sheet 1")[
+ "Google Sheet 1"
+ ][0]
+
+# Step 4: Download the Google Sheet
+gs.download_spreadsheet(spreadsheet_id,
+ save_as="Google Sheet 1.xlsx")
+```
+
+Suppose we already have the spreadsheet ID and we just want to get the values
+from a particular sheet `Sheet1`.
+``` python
+values = gs.get_values(spreadsheet_id, range_="'Sheet1'")
+```
+
+
+
+
+
+
+
+%prep
+%autosetup -n googleAPI-0.1.0
+
+%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-googleAPI -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 17 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..5fb9760
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+2dc7994a4af6564be9dcdd206fdd36ef googleAPI-0.1.0.tar.gz