motchyの備忘録

私にとっては大きな1歩だが、人類にとっては小さな1歩だ。

Get whole tree of GoogleDrive items at high speed, using BFS-search + batch processing (Python3)

Overview


Recently, I needed to get whole item tree in Google Drive automatically. I found Python3 can handle Google Drive REST v3 API. I came up with an following efficient method.

1.Get all nodes (include information: name, id, mimeType, parents) using files().get() method.
2.Refer each item's parent attribute, then connect to parent correctly.
3.Now you have a Spanning-Tree you wanted.

I run this method on my Google Drive which has 1754 files and 1028 folders, and it took only 17.3 sec to specify whole tree structure.

Preparation


To try codes shown below, you need some burdensome preparation. See this official guide.

code


スポンサーサイト

テーマ:Python - ジャンル:コンピュータ

  1. 2017/11/02(木) 04:48:26|
  2. Python3
  3. | コメント:0

Linuxで作ったQtCreatorのプロジェクトをWindowsでコンパイルする

 また盛大にハマって時間を無駄にした。

症状


 Ubuntu上で作業していた QtCreator (Qt 5.9.2) のプロジェクトを Windows に持ってきて MSVC コンパイラでコンパイルしようとしたら意味不明なエラーが山ほど出た。もちろん OS に依存するような機能は使っていない。エディタ上ではコードは問題なく表示されているのだが、コンパイラーが「;が無ぇ! }が無ぇ! 〇〇.icoが無ぇ!」と叫び散らしている。要するに、エディタは文字コードと改行コードを正しく認識できているが、コンパイラが認識できていない。きっと SJIS の CRLF だと思ってコンパイルしようとしているのだろう。

解決策


 MSVC コンパイラに文字コードとして UTF-8 を指定できればいいのだろうが、方法がわからなかったのでプロジェクトファイル一式の文字コードを SIFT-JIS に、改行コードを CRLF に変えることにした。bash でプロジェクトフォルダに入り、次のコマンドを実行すればよい。WSLを使ってもいい。事前に nkf をインストールしておくこと。

find . -type f -name "*.h" -or -name "*.cpp" -or -name "*.pro" -or -name "*.qrc" | xargs -n 10 nkf --windows --overwrite


Linux 用に戻したければ --windows--unix に変えてもう一度実行すればよい。

副作用


 ビルドの問題は解決されるが、今度はエディタが「UTF-8 でデコードできない」と文句を言ってくるので、「ツール」->「オプション」->「テキストエディタ」->「Behavior」->「既定の文字コード」で System (多分これが SHIFT-JIS)を選択して解決する。

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2017/10/16(月) 00:34:17|
  2. Qt5
  3. | コメント:0

Python上のSqlite3でテーブルの存在確認

 Python3を始めて3ヵ月程経った。今日はSQLiteなるモジュールを弄ってみたが、テーブルの存在確認の方法が分からず時間喰ったのでメモ。
 hoge.db 内にテーブル fuga があるかどうか調べるコード。

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2017/10/01(日) 21:47:05|
  2. Python3
  3. | コメント:0

Kubuntu で ウィンドウのエフェクトが突然全滅したときの対処

 またくだらぬことで時間を無駄にしたのでここに書き残しておく。
 先日、デカいmp4ファイルを vlc で再生し始めた直後に X がフリーズして落ちた。CUIモードに強制移行したモニターには 「radeon の Graphics Card が sleep した」みたいなメッセージが表示されていたので、たぶんグラフィックスドライバがバグで落ちたのだろう。
 その後再起動するとウィンドウのエフェクトが全滅しており、再起動しても治らないし、KDE関連のパッケージを purge して 再インストールしても治らない。
 散々試行錯誤した挙句、どうやら Compositor なるエフェクト用のプログラムが起動しなくなっているのが原因らしい。ターミナルエミュレータで /usr/bin/kcmshell5 kwincompositing を実行して Compositor の設定画面を開き、「コンポジタを起動時に有効にする」にチェックを入れて「適用」したところ、たちどころにエフェクトが復活した。

テーマ:Linux - ジャンル:コンピュータ

  1. 2017/10/01(日) 19:40:15|
  2. 未分類
  3. | コメント:0

InkscapeでEPSをエクスポートするときにラスタライズされてしまう時の対処

 Inkscape で次のようなグラフを描いてEPS形式でエクスポートすると、なぜかラスタライズされてしまう。グラデーションとか使ってないのに、どんなにオプションを調整してもダメ。困った。

2017_9_23_2208.png

 散々試行錯誤した挙句、一度 emf 形式でエクスポートしてからこちらのオンラインサービスで eps に上手く変換できることがわかった。文字情報もちゃんと保存されており、LatexでPDFを出力しても文字だったところはちゃんと文字として扱われている。

 emf でエクスポートするときのオプションは全部はずしてよさげ。ただ、今回の場合は「テキストをパスに変換」すると、その後の変換後の eps のサイズがかなり減った。多分フォントを埋め込まなくて済むからだろう。

2017_9_23_2207.png

テーマ:ソフトウェア - ジャンル:コンピュータ

  1. 2017/09/23(土) 22:08:32|
  2. misc
  3. | コメント:0
次のページ

プロフィール

motchy

Author:motchy
制御が好きな電気電子系の学生

検索フォーム

最新記事

最新コメント

月別アーカイブ

カテゴリ

未分類 (1)
数学 (7)
実解析 (0)
複素解析 (2)
線形代数 (1)
確率・統計 (1)
グラフ理論 (1)
ベクトル解析 (1)
物理 (2)
力学 (2)
電子工作 (13)
LTSpice (3)
電源装置 (1)
2段式コイルガン (7)
misc(電子工作) (1)
プログラミング (35)
GNU make (3)
Python3 (2)
HSP (17)
Win32API (1)
Qt5 (5)
Mathematica (6)
Matlab (1)
計算機 (10)
CELSIUS-N465 (1)
X205TA (4)
nexus7 2012 (1)
gigabeatV30T (4)
Linux (11)
Windows (1)
LaTeX (12)
MathJax (2)
Libreoffice (2)
Origin (3)
Tgif (4)
misc (8)
univ (1)

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる