Skip to content

Instantly share code, notes, and snippets.

@sugiana
sugiana / yaml_for_yolo.py
Created October 2, 2025 07:22
Buat YAML untuk YOLO
# Kebutuhan: env/bin/pip install ruamel.yaml
# Ini untuk mengekstrak file ZIP hasil export berformat YOLO dari annotation
# tool bernama Label Studio. Nanti akan terbentuk file YAML sebagai file
# konfigurasi pelatihan:
# env/bin/yolo train data=latihan.yaml
import sys
import os
import shutil
from zipfile import ZipFile
from random import choice
@sugiana
sugiana / wifimgr.py
Created July 19, 2025 01:39
Pengaturan WiFi untuk Microcontroller ESP32
# Sumber: https://randomnerdtutorials.com/micropython-wi-fi-manager-esp32-esp8266/
# Perubahan:
# 1. Bug fixed saat SSID memiliki karakter spasi
# 2. Password yang lebih mudah
import network
import socket
import ure
import time
@sugiana
sugiana / jatuh_tempo_from_date.py
Created October 30, 2017 02:03
Jatuh Tempo dengan Input Tanggal
from datetime import date
def bulan_depan(bulan, tahun):
if bulan == 12:
bulan_b = 1
tahun_b = tahun + 1
else:
bulan_b = bulan + 1
tahun_b = tahun
@sugiana
sugiana / jatuh_tempo.py
Created October 30, 2017 01:49
Tanggal Jatuh Tempo
from datetime import date
def bulan_depan(bulan, tahun):
if bulan == 12:
bulan_b = 1
tahun_b = tahun + 1
else:
bulan_b = bulan + 1
tahun_b = tahun
@sugiana
sugiana / connection-alert.py
Last active March 18, 2016 23:12
Say connection status
# Debian: apt-get install espeak
# Other OS: http://espeak.sourceforge.net/download.html
import sys
import commands
import subprocess
from time import sleep
from datetime import datetime
# pip install xlrd
import sys
from xlrd import open_workbook
filename = sys.argv[1]
wb = open_workbook(filename)
sheet = wb.sheet_by_index(0)
for row in range(sheet.nrows):
@sugiana
sugiana / get_colander_sequence.py
Created September 16, 2015 08:50
Mengambil nilai colander.Sequence()
def get_seq(controls, name):
start = False
key_value = ':'.join([name, 'sequence'])
r = []
for key, value in controls:
if key == '__start__' and value == key_value:
start = True
continue
if key == '__end__' and value == key_value:
start = False
@sugiana
sugiana / test-insert-or-update.py
Created September 8, 2015 01:54
INSERT or UPDATE use SQLAlchemy
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import sessionmaker
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
import commands
from glob import glob
SHOW_KEYS = ['bcdUSB', 'idVendor', 'idProduct']
for bus in glob('/dev/bus/usb/*'):
vals = dict()
for dev in glob('{b}/*'.format(b=bus)):
cmd = 'lsusb -D {d}'.format(d=dev)
# Web admin modem 3Com ADSL Wifi
import socket
socket.setdefaulttimeout(30)
import urllib
import urllib2
import sys
from sgmllib import SGMLParser
import os
import mechanize