Skip to content

Instantly share code, notes, and snippets.

View femmerling's full-sized avatar
🛠️
Building things

Fauzan Erich Emmerling femmerling

🛠️
Building things
View GitHub Profile
@femmerling
femmerling / owncloudUserCreateHack.php
Created April 3, 2013 11:13
Put this file in your OwnCloud root folder to have a create new user API. All you need to do is have a POST request to <host>/owncloud/owncloudUserCreateHack.php with username and password parameters and your user is created. Remember that this works under SQLite3. Adjust to MySQL or PostgreSQL or whatever engine query you're using.
<?php
require_once '3rdparty/phpass/PasswordHash.php';
class MyDB extends SQLite3
{
function __construct()
{
$this->open('data/owncloud.db');
}
@femmerling
femmerling / app.py
Created September 9, 2013 13:52
Always error and class instance always created twice
from flask import Flask, jsonify
from oauth1.authorize import Oauth1
from oauth1.errors.oauth import Oauth1Errors
from oauth1.store.sql import Oauth1StoreSQLAlchemy
BASE_URL = "http://localhost:5000/"
auth = None
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = "mysql://root:somepassword@127.0.0.1:3306/oauth" # Change this to a valid URI
@femmerling
femmerling / parse_helper.py
Created October 11, 2013 12:05
Function to simplify json parsing for SQLAlchemy model creation
"""
I know that parsing json values for SQLAlchemy models is a pain in the ass.
The following two helpers will get you cleaner code and handles the json while converting it into code.
This is commonly use in Flask-SQLAlchemy applications. My latest backyard release already included these functions
"""
import json
# this import is just an example of an SQLAlchemy module, it can be any model that you wish to use
from app.models import User
@femmerling
femmerling / parser.py
Created January 22, 2014 09:15
Have problems checking class variable type to ensure that value will be typecasted accordingly
def parser(passed_object, request_data):
for item in request_data.values:
if hasattr(passed_object, item) and request_data.values.get(item) != None:
inputval = request_data.values.get(item)
#TODO: check the corresponding class variable type before typecasting
setattr(passed_object, item, inputval)
return passed_object
@femmerling
femmerling / config.yml
Created June 18, 2016 12:05
Example Yaml file for MotherNature use
COMMON:
DEBUG: false
TESTING: false
IS_PRODUCTION: False
TEST:
TESTING: true
DEVELOPMENT:
DEBUG: true
TESTING: false
STAGING:
@femmerling
femmerling / mothernature_env.py
Created June 18, 2016 12:10
MotherNature Example without default variable
from mothernature import Environment
env = Environment("config.yml")
# This will provide the config based on the environment you set when starting the application
# and then you can do
test_env.get("DB_CONNECTION")
@femmerling
femmerling / mothernature_default.py
Created June 18, 2016 12:13
Example of MotherNature using default environment
from mothernature import Environment
env = Environment("someyml.yaml", environment='DEV')
test_env.get("DB_CONNECTION")
@femmerling
femmerling / initialize.html
Last active April 3, 2017 07:48
Prism Widget Initialization Script
<div id="prism-widget"></div>
<script src="https://prismapp-files.s3.amazonaws.com/widget/prism.js"></script>
<script type="text/javascript">
(function(e, b, c) {
e.Shamu = {
merchant_id: '',
initialize: function(a) {
a.merchant_id ? this.merchant_id = a.merchant_id : console.log("Shamu: Please initialize Shamu with a merchat_id");
},
display: function() {
@femmerling
femmerling / hashtable.py
Last active September 22, 2017 14:35
Hashtable algorithm written in python
#create the key-value object
class KeyValue:
def __init__(self,key,value):
self.key=key
self.value=value
class HashTable:
#initiate an empty list that will store all key value pair based on the KeyValue object
def __init__(self):
@femmerling
femmerling / quicksort.py
Created December 23, 2012 15:53
The quick sort Algorithm written in python.
def quicksort(input_list):
higher = []
lower = []
if len(input_list) > 2:
pivot = (len(input_list) - 1)/2
mid = [input_list[pivot]]
i = 0
while i < len(input_list):
if i != pivot:
if input_list[i] <= input_list[pivot]: