Skip to content

Instantly share code, notes, and snippets.

@KainokiKaede
KainokiKaede / mosaic_to_photo.py
Last active January 21, 2025 08:03
Photo Mosaic App on Pythonista (iOS app)
import appex
import sys
import photos
import ui
import io
from PIL import Image, ImageOps, ImageDraw, ImageFilter, ImageStat
import random
import pathlib
def scale_image(pil_img, max_dim=1024):
@KainokiKaede
KainokiKaede / BackupiOSReminders.py
Created December 3, 2016 04:51
Backup all reminders in iOS Reminders app, using Pythonista 3.
import reminders
with open('BackedupReminder.txt', 'w', encoding='utf-8') as fo:
all_calendars = reminders.get_all_calendars()
fo.write('Reminder Backup\n\n')
fo.write('There are ' + str(len(reminders.get_reminders())) + ' reminders to back up.\n\n')
counter = 0
for calendar in all_calendars:
fo.write('Calendar title: ' + calendar.title + '\n')
fo.write('Calendar identifier: ' + calendar.identifier + '\n\n')
@KainokiKaede
KainokiKaede / AnkiMarkdown.py
Created November 17, 2016 10:06
Markdown - Anki viewer for Pythonista. Obtains a Markdown file from Dropbox, hides *em* and **strong** characters, and reveals when they are pressed. Great for remembering something.
import editor
import markdown2
from bs4 import BeautifulSoup
import tempfile
import webbrowser
import os
# filename = editor.get_path()
filename = os.path.join(tempfile.gettempdir(),'fi.md')
// From Resources > Advanced Google Services, enable Calendar API,
// and follow the link "Google Developers Console" and enable Calendar API there, too.
//
// Original: https://github.com/kdotsaito/GAS/blob/master/calender_merge.gs
// Calendar ID to concatenate to.
var outCal_id = "@group.calendar.google.com";
// Calendar IDs to concatenate.
var inCal_ids = [
"@group.calendar.google.com",
"@group.calendar.google.com",
@KainokiKaede
KainokiKaede / AutoSendDraft.gs
Last active May 2, 2018 07:52
Automatically sends Gmail drafts with specific label.
/*
* Inspired by: http://stackoverflow.com/a/27215474
*
* After copying the code to your own script, open Resources -> Advanced Google Services,
* 1. enable Gmail API (switch to "on"),
* 2. open the link for the Google Developers Console, and enable the Gmail API for your project.
*/
function sendMorningDrafts() {
sendLabeledDrafts("schedule/send-next-0700-0800");
@KainokiKaede
KainokiKaede / DropboxSyncv2.py
Last active September 19, 2018 14:48 — forked from wrenoud/DropboxSync.py
DropboxSync
from __future__ import absolute_import
from __future__ import print_function
import os
import sys
import pickle
import console
import editor
import dropbox
# I moved 'dropboxlogin' into a sub folder so it doesn't clutter my main folder
@KainokiKaede
KainokiKaede / dropboxloginv2.py
Last active October 10, 2017 07:33 — forked from omz/dropboxlogin.py
dropboxlogin
# YOU NEED TO INSERT YOUR APP KEY AND SECRET BELOW!
# Go to dropbox.com/developers/apps to create an app.
from __future__ import absolute_import
from __future__ import print_function
app_key = 'YOUR_APP_KEY'
app_secret = 'YOUR_APP_SECRET'
import webbrowser
import dropbox
@KainokiKaede
KainokiKaede / CreateMarkdownHyperLink.vim
Last active March 13, 2019 04:32
Create Markdown hyperlink automatically. Usage: type ``:MDURL`` over a URL.
import os
import sys
import pickle
import console
import editor
import dropboxlogin # this code can be found here https://gist.github.com/4034526
STATE_FILE = '.dropbox_state'
@KainokiKaede
KainokiKaede / Heartbeat.py
Created June 17, 2014 03:32
Heartbeat Analyzer for Pythonista for iOS.
# coding: utf-8
import ui
import time
tapped_time = []
def calc_bpm():
# I decided not to use the first and the last time measurement.
# So the list must have at least 4 items to calculate BPM.