Skip to content

Instantly share code, notes, and snippets.

@absent1706
absent1706 / get_set_array_element
Last active August 29, 2015 14:06
Read and write to property of multidimensional array (property is string var)
function getArrayElement($array, $path, $pathDelimiter = '->')
{
// searching for element
$current_array = &$array;
$keys = explode($pathDelimiter, $path);
foreach ($keys as $key)
{
$current_array = &$current_array[$key];
}
@absent1706
absent1706 / gist:5e64b86d9711d62cb55b
Last active August 29, 2015 14:08
Magento: insert or update (if already exists) row in DB
protected function _insertOrUpdateData(&$dbAdapter, $table, $data, $where)
{
$select = $dbAdapter->select()->from($table);
foreach ($where as $condition => $value)
{
$select->where($condition, $value);
}
if ($dbAdapter->fetchOne($select))
{
@absent1706
absent1706 / code_template_authorization_cookie_passwords.php
Last active August 29, 2015 14:21
PHP/cookies_and_authorization
@absent1706
absent1706 / acl_decorators.py
Last active April 7, 2016 12:10
python ACL decorators
from copy import copy
class NotAllowedError(Exception):
code = 503
def __init__(self, *args, **kwargs):
super(NotAllowedError, self).__init__(*args, **kwargs)
def _base_decorator(check_rights_function, *decorator_args, **decorator_kwargs):
def real_decorator(function):
def wrapper(handler, *function_args, **function_kwargs):
@absent1706
absent1706 / debug_http.py
Created April 8, 2016 12:35
python: debug urllib HTTPS request
# -*- coding: utf-8 -*-
import json, urllib2
#адрес для отправки json-запросов
url = 'https://api.direct.yandex.ru/v4/json/'
#данные для OAuth-авторизации
token = '6bfc962472504a2b99fb6a5b0b181d98'
#логин в Директе
@absent1706
absent1706 / yandex_api_example.php
Created April 8, 2016 13:00
PHP:yandex API example
<?php
/*
Пример программного кода для работы с API сервиса Яндекс.Директ
В примере использован рекомендуемый синтаксис для работы с API сервиса Яндекс.Директ
на языке PHP с использованием протокола JSON и авторизацией по токенам.
Обращаем внимание, что все текстовые данные должны быть в кодировке UTF8
from sqlalchemy import create_engine
from sqlalchemy import select
from sqlalchemy import MetaData, Table, Column, String, Integer
engine = create_engine("sqlite://")
metadata = MetaData()
user_table = Table('user', metadata,
Column('id', Integer, primary_key=True),
Column('username', String(50)),
Column('fullname', String(50))
#################################################################
def compile_query(query):
return str(query.statement.compile(compile_kwargs={"literal_binds": True}))
#################################################################
############################## EXAMPLE ##############################
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
from sqlalchemy import *
from sqlalchemy.orm import relationship, backref, joinedload
class Request(Base):
__tablename__ = 'request'
@absent1706
absent1706 / sqlalchemy-orm-find.py
Created June 17, 2016 14:06
sqlalchemy Laravel/Rals/Django-like find() method
def find(db, id_): # db is better to be global IMHO
db.query(self.__class__).filter(self.__class__.__mapper__.primary_key[0] == id_).one()