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


Keywords
wget, googlesheet
License
MIT
Install
pip install snapsheets==0.6.6

Documentation

GitLab pipeline PyPI - Licence PyPI PyPI - Status PyPI - Python Version PyPI - Downloads

Snapsheets

Wget snapshots of Google spreadsheet


Usage

>>> import snapsheets as ss
>>> ss.add_config('config.yml')
>>> ss.get('test1', by='wget')

Install

$ pip3 install snapsheets

Documents


設定ファイルの項目

  • volumes : 保存先
  • options : ダウンロード時のオプション
  • sheets : スプレッドシートの情報

volumes : 保存先

  • ダウンロードしたスプレッドシートを保存する場所を設定する項目
  • いまは snapd だけ必要
  • デフォルトはカレントディレクトリ
volumes:
  snapd: "."

options : ダウンロード時のオプション

  • ダウンロード時のオプションを設定する項目
  • いまは wget だけ必要
options:
  wget:
    '--quiet'

sheets : スプレッドシートの情報

  • スプレッドシートの情報を設定する項目
  • 複数のスプレッドシートを設定できる
sheets:
  シートの名前:
    key: スプレッドシート全体のID
    gid: ダウンロードするシートのID
    format: ダウンロード形式
    sheet_name:
      - 'シートの名前'
    stem: 'バックアップ時につけるファイル名'
    datefmt: 'バックアップ時に使う日付フォーマット'

datefmt : 日付フォーマット

  • バックアップする際のファイル名につける日付プリフィックス
  • デフォルトは %Y%m%dT%H%M%S

開発用メモ

ローカルでテストする場合

$ git clone https://gitlab.com/shotakaha/snapsheets.git
$ cd snapsheets/python/
$ pip3 install .
$ pip3 show snapsheets

Test PyPI のテストをする場合

$ pip3 install -i https://test.pypi.org/simple/
$ pip3 show snapsheets

Test PyPI への登録

  • https://test.pypi.org/project/snapsheets/
  • API Token を発行する
    • API Tokenは一度しか発行できない(忘れてしまったら再発行するしかない?)
    • $HOME/.pypircに設定を保存しておく

アップロード

$ cd python/
$ rm -r dist/
$ python3 setup.py sdist bdist_wheel
$ twine upload --repository testpypi dist/*
Uploading distributions to https://test.pypi.org/legacy/
Enter your username: __token__
Enter your password: ## APIトークンをコピペ

PyPI への登録

  • https://pypi.org/project/snapsheets/
  • API Token を発行する
    • API Tokenは一度しか発行できない(忘れてしまったら再発行するしかない?)
    • $HOME/.pypircに設定を保存しておく

アップロード

$ cd python/
$ rm -r dist/
$ python3 setup.py sdist bdist_wheel
$ twine upload dist/*
Uploading distributions to https://pypi.org/legacy/

$HOME/.pypirc の設定

[distutils]
  index-servers=
      pypi
      testpypi

[testpypi]
  repository: https://test.pypi.org/legacy/
  username = __token__
  password = pypi-****

[pypi]
  username = __token__
  password = pypi-****

TestPyPIにアップロードしたときに分かったこと/気をつける点

  • メールアドレス(setup.pyに書くauthor_email)は、TestPyPIに登録したメールアドレスでなくてもOKだった
    • validな文字列であればなんでもよいみたい
    • invalidなアドレスはtwineでエラーがでる(xxxxxxにしてたら怒られた)
  • 同じ名前のファイルは登録することができない