?

Log in

No account? Create an account

rg_software


Заметки на полях

Мой адрес — не дом и не улица...


Disclaimer
rg_software
Я совершенно точно не собираюсь вести журнал. Просто удобно воспользоваться готовым механизмом публикации вместо того, чтобы программировать свой. А хотя бы отрывочных заметок о происходящем с меня просят :)

Google Photos: сортировка по названию
rg_software
Сегодня хочу поделиться мелкой, но полезной находкой. Я отношусь к фотоальбомам довольно традиционным образом: стараюсь выстраивать фотографии в том порядке, который мне кажется правильным, комментирую в меру способностей и наличия свободного времени... Думаю, нет необходимости доказывать, что проще всего выстроить файлы в нужном порядке, попросту придавая им имена, следующие по алфавиту.

Проблема в том, что Google Photos, куда я обычно выкладываю фотоальбомы, не позволяет осуществить сортировку фотоальбома по имени. Как же добиться желаемого? Оказывается, не очень сложно. Правда, пришлось изрядно повозиться, прежде чем выйти на этот нехитрый метод.

Нам понадобится утилита upload-gphotos (откомпилированные версии также доступны), браузер Chrome и небольшой код на Python:

import os
import sys
import subprocess

album = "ALBUM-NAME"
user = "USER-NAME"
password = "PASSWORD"
gphotos_path = r'C:\Utils\upload-gphotos-win.exe'
os.environ['PUPPETEER_EXECUTABLE_PATH'] = r'C:\Utils\Chromium\Chrome.exe'
target_extension = ".jpg"

files = sorted([name for name in os.listdir() if name.lower().endswith(target_extension)], reverse=True)

for file in files:
    print("Uploading: " + file)
    subprocess.call([gphotos_path, file, "-u", user, "-p", password, "-a", album])


Суть в том, что Google Photos позволяет отсортировать альбом "по дате загрузки" (в действительности в обратном порядке). Соответственно, мы должны загружать снимки в обратном алфавитном порядке, чтобы добиться требуемого эффекта. Для этого и нужен приведённый фрагмент: он проходит по файлам с указанным расширением в обратном порядке и вызывает upload-gphotos (у меня вызывается Windows-версия, но аналогичный код должен работать и на Linux/Mac). Необходимо лишь прописать пути к Chrome и утилите upload-gphotos, а также указать имя пользователя и пароль к учётной записи Google и название целевого альбома. Если такого альбома не существует, он будет создан.

Москва (Царицыно)
rg_software
Пожалуй, добьём ту поездку апреля 2014 года. на очереди Москва, парк Царицыно.

Архангельск '2014
rg_software
Из Барселоны я (неожиданно) направился в Архангельск, так что южный фотоальбом сменяется северным. Было это примерно так.

Барселона '2014 (часть 3)
rg_software

Решил уж сразу добить эту поездку. Вот она, заключительная третья часть.


Барселона '2014 (часть 2)
rg_software
А вот и второй фотоальбом поспел! Всего будет три.

Mercurial и Hg-Git Revisited
rg_software

Не так давно я писал о настройке расширения Hg-Git для доступа к Github с помощью клиента TortoiseHg. Всё было хорошо до тех пор, пока мне не потребовалось настроить SSH-доступ к собственному серверу репозиториев (на базе RhodeCode). Оставим в стороне разговор о том, сколько времени пришлось убить на настройку — тут основную роль сыграли мои собственные ошибки, важно другое: мне так и не удалось осуществить соединение при помощи ранее описанного способа. Так и не знаю, почему. Однако оказалось, что существует и более простой способ, который работает.

Read more...Collapse )

Total Commander Plugins (2)
rg_software
После публикации первой заметки о расширениях Total Commander я решил ещё раз мелким гребнем пройтись по списку существующих расширений и готов написать небольшое дополнение к прошлому перечню. Есть и кое-какие исправления и соображения. Начнём с них.Read more...Collapse )

HTTPS: настройка Mercurial
rg_software
Последний недостающий для меня кусочек головоломки — это настройка Mercurial для работы по протоколу HTTPS. Оказалось, что в отличие Git-репозиториев, Hg-репозитории прекрасно работают по HTTPS, поэтому я решил пока что не заморачиваться с SSH (напомню, что расширение Hg-Git без SSH никак не хотело нормально работать).Read more...Collapse )

Slt и сертификаты
rg_software

Выяснилась одна важная вещь, о которой не было сказано в предыдущем тексте. Let's Encrypt генерирует три файла: "certificate", "private key" и "CA bundle", а slt требует прописать в настройках только сертификат и закрытый ключ. Я по незнанию просто подсунул ему первые два файла, и это вроде как заработало. Однако оказалось, что Chrome просто "слишком умный" и каким-то образом автоматически заполняет брешь. Вот Firefox этого не делает, и сайт по-прежнему отображается как "ненадёжный".

Решение состоит в том, чтобы объединить certificate и CA bundle в единый текстовый файл (именно в этом порядке, порядок имеет значение):

-----BEGIN CERTIFICATE-----
[содержимое certificate.crt]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[содержимое ca_bundle.crt]
-----END CERTIFICATE-----

Теперь можно подсунуть полученный файл в качестве certificate для slt, и всё уже окончательно заработает.