Metadata-Version: 2.1
Name: snapsheets
Version: 0.5.7
Summary: Getting tired of downloading Google Spreadsheets one by one from the browser ?
Home-page: https://shotakaha.gitlab.io/snapsheets/
License: MIT
Keywords: wget,googlesheet
Author: shotakaha
Author-email: shotakaha+py@gmail.com
Requires-Python: >=3.7,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: Japanese
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: Deprecated (>=1.2.12,<2.0.0)
Requires-Dist: PyYAML (>=5.4.1,<6.0.0)
Requires-Dist: docopt (>=0.6.2,<0.7.0)
Requires-Dist: icecream (>=2.1.0,<3.0.0)
Requires-Dist: pendulum (>=2.1.2,<3.0.0)
Requires-Dist: toml (>=0.10.2,<0.11.0)
Project-URL: Repository, https://gitlab.com/shotakaha/snapsheets
Description-Content-Type: text/markdown

![GitLab pipeline](https://img.shields.io/gitlab/pipeline/shotakaha/snapsheets?style=for-the-badge)
![PyPI - Licence](https://img.shields.io/pypi/l/snapsheets?style=for-the-badge)
![PyPI](https://img.shields.io/pypi/v/snapsheets?style=for-the-badge)
![PyPI - Status](https://img.shields.io/pypi/status/snapsheets?style=for-the-badge)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/snapsheets?style=for-the-badge)


# Snapsheets

Getting tired of downloading Google Spreadsheets one by one from the browser ?

This package enables to wget Google Spreadsheets without login.
(Spreadsheets should be shared with public link)


---

# Usage : as python module

```python
>>> import snapsheets as ss
>>> sample_url1 = "https://docs.google.com/spreadsheets/d/1NbSH0rSCLkElG4UcNVuIhmg5EfjAk3t8TxiBERf6kBM/edit#gid=0"
>>> sheet = ss.Sheet(url=sample_url1, desc="Get Sample Sheet")
>>> sheet.snapshot()
📣 Get Sample Sheet
🤖 Downloaded snapd/snapsheet.xlsx
🚀 Renamed to snapd/20210412T104727_snapsheet.xlsx
```

---
# Usage : as CLI

```bash
$ snapsheets --url "https://docs.google.com/spreadsheets/d/1NbSH0rSCLkElG4UcNVuIhmg5EfjAk3t8TxiBERf6kBM/edit#gid=0"
📣 snapsheet
🤖 Downloaded snapd/snapsheet.xlsx
🚀 Renamed to snapd/20210412T104926_snapsheet.xlsx
```

- Use ``--url`` option to download single spreadsheet.
- Downloaded file is temporarily named as ``snapsheet.xlsx``, then renamed with current-time based prefix.
- (More options might be added later)

---
## Usage : with configuration files

- This is useful when you have lots of files to download.
- Make ``./config/`` directory and place your TOML/YAML configuration files.
  - If ``./config/`` does not exist, it will search from ``. (current directory)``.
- Downloaded files are saved to ``./snapd/`` directory
  - If ``./snapd/`` does not exit, it will be saved in ``. (current directory)``.
  - (Options to switch directory might be added later)

```bash
$ snapsheets
📣 Example for Snapshot module (in TOML)
🤖 Downloaded snapd/snapsheet.xlsx
🚀 Renamed to snapd/2021_toml_sample1.xlsx
📣 20210304_storage_comparison
🤖 Downloaded snapd/snapsheet.xlsx
🚀 Renamed to snapd/20210412_toml_sample2.xlsx
```

---

# v0.2.3 or older

- Added DeprecationWarnings
- It still works

```python
>>> print("💥💥💥 deprecated since version 0.2.3 💥💥💥")
>>> fname = "config/config.yml"
>>> ss.config.add_config(fname)
snapsheets/sandbox/snapper.py:28: DeprecationWarning: Call to deprecated function (or staticmethod) add_config. (Will be removed.) -- Deprecated since version 0.2.3.
  ss.config.add_config(fname)
>>> fname = "config/gsheet.yml"
>>> ss.config.add_config(fname)
snapsheets/sandbox/snapper.py:30: DeprecationWarning: Call to deprecated function (or staticmethod) add_config. (Will be removed.) -- Deprecated since version 0.2.3.
  ss.config.add_config(fname)
>>> fname = ss.gsheet.get("test1", by="wget")
snapsheets/sandbox/snapper.py:31: DeprecationWarning: Call to deprecated function (or staticmethod) get. (Will be removed) -- Deprecated since version 0.3.0.
  fname = ss.gsheet.get("test1", by="wget")
2021-04-07 19:44:18 - INFO - gsheet.py - snapsheets.gsheet - download - ダウンロードするよ : test1
2021-04-07 19:44:19 - INFO - gsheet.py - snapsheets.gsheet - download - ダウンロードしたよ : snapd/test_sheet.xlsx
2021-04-07 19:44:19 - INFO - gsheet.py - snapsheets.gsheet - backup - 移動するよ : test_sheet.xlsx
2021-04-07 19:44:19 - INFO - gsheet.py - snapsheets.gsheet - backup - 移動したよ : 2021_test_sheet.xlsx
```

---

# Preparation

- Install ``wget`` if your system doesn't have them
- Make your spreadsheet available with shared link (OK with read-only)

---

# Documents

- https://shotakaha.gitlab.io/snapsheets/

---

# PyPI package

- https://pypi.org/project/snapsheets/

![PyPI - Downloads](https://img.shields.io/pypi/dd/snapsheets?style=for-the-badge)
![PyPI - Downloads](https://img.shields.io/pypi/dw/snapsheets?style=for-the-badge)
![PyPI - Downloads](https://img.shields.io/pypi/dm/snapsheets?style=for-the-badge)

