Skip to content

Instantly share code, notes, and snippets.

Avatar
🎯
Focusing

Sencer H. RecNes

🎯
Focusing
View GitHub Profile
@RecNes
RecNes / sort_query_set_objects.py
Last active Jul 24, 2020
Sort object list in python
View sort_query_set_objects.py
def sort_query_set_objects(query_set, attr=None):
"""
Convert queryset to a list array and sort by field with order ASC/DESC.
Use when you have to apply ordering to queryset but don't want to do it via database.
:param query_set: queryset
:param attr: query object attribute (field) name with order direction. Usage is same as order_by()
:return: list array w/wo sorted
"""
object_list = list(query_set)
View Processing indicator for python shell
import os
import time
def get_console_width():
"""
Returns the width of console.
NOTE: The below implementation works only on Linux-based operating systems.
If you wish to use it on another OS, please make sure to modify it appropriately.
"""
@RecNes
RecNes / repeatedly_mount.py
Last active Jun 20, 2018
Script for automatic file system check and mount usb disk for raspberry pi raspbian
View repeatedly_mount.py
"""
Please READ carefuly first and use at your OWN RISK!
This script is repeatedly try to mount EXT4 partition to given point.
Any other FS types are igored while writing this script. Works ONLY EXT4!
Before mounting, checks and corrects the file system errors. THIS MAY CAUSE LOSS OF DATA!
Append cronjob such as:
15 * * * * /usr/bin/python /root/repeatedly_mount.py
@RecNes
RecNes / remove_old_hourly_backups.py
Last active Jun 20, 2018
Remove old hourly backups
View remove_old_hourly_backups.py
#!/usr/bin/env python
import shutil
import os
from datetime import datetime
print(" ".join(("-"*20, "Removing Hourly Backups Older Than Today", "-"*20)))
path_to_backups = '/var/backups/sqlbackups'
today = datetime.today().date()
@RecNes
RecNes / disk_usage_mail_alert.py
Last active Jun 20, 2018
Disk space usage email alert
View disk_usage_mail_alert.py
#!/usr/bin/env python
"""
Developen on: Python 2.7.13
"""
__author__ = 'Sencer Hamarat'
__license__ = "Creative Commons Attribution-ShareAlike 3.0 Unported License"
__version__ = "1.3"
__maintainer__ = "Sencer Hamarat"
__status__ = "Production"
@RecNes
RecNes / locofomufowisalofo
Created Oct 26, 2017
Logrotate configuration for multiple folders with same log folder. It applies to log files which are created by unstoppable services.
View locofomufowisalofo
/var/www/*/*/logs/*.log
{
olddir old_logs
daily
rotate 365
dateext
nocreate
copytruncate
missingok
delaycompress
@RecNes
RecNes / cli_percentage.py
Last active Jun 20, 2018
Display percentage of process to on one line of stdout in python
View cli_percentage.py
object_list_length = len(ObjectList)
for i, object in enumerate(ObjectList):
percentage = int(((i + 1) * 100 / object_list_length))
percent_str = ""
for k in range(0, int(percentage / 5)):
percent_str += ":"
sys.stdout.write("\r%s -- %s | %s %% %s " % (str(i + 1),
str(object_list_length),
str(percentage),
@RecNes
RecNes / pause_sketch_for_console.ino
Created Dec 4, 2016
How to make wait/pause the sketch for Arduino IDE serial console to open.
View pause_sketch_for_console.ino
void setup() {
Serial.begin(9600);
// Wait for the users to turn on the serial monitor and press the enter key to continue.
while (!Serial.available()) {
; // Wait for enter key;
}
// put your setup code here, to run once:
}
@RecNes
RecNes / 16x2lcdPrint.ino
Created Nov 18, 2016
Arduino gist for proper usage of vertical scrolling on each output with 16x2 LCD display.
View 16x2lcdPrint.ino
#include <LiquidCrystal.h>
String Line1;
String Line2;
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void lcdPrint(String lcdText) {
lcd.clear();
Line1 = Line2;
lcd.setCursor(0, 0);
lcd.print(Line1);
@RecNes
RecNes / kill_the_snake.sh
Last active Jul 24, 2020
Shell script to use for kill all python scripts.
View kill_the_snake.sh
#!/usr/bin/env bash
# title : kill_pyhton.sh
# description : This script to use for kill python scripts.
# author : Sencer HAMARAT "sencerhamarat(at)gmail.com"
# date : 20160202
# version : 0.1
# command : bash kill_pyhton.sh
# bash_version : 4.3.11(1)-release
# =============================================================================
ARGS="$@"
You can’t perform that action at this time.