- 1
хде хруст?
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 11
−6
хде хруст?
Превед, говнокод. Чому нет категории для раста?
−22
def get_context(self, script_name, request=None):
context = self.get_script_context(script_name)
with suppress(KeyError):
context.update(context['ctx_updater'](context))
return context
кручу-верчу, контекст обновить хочу.
−102
class NumFactory:
def __init__(self, n):
self.val = n
def timesTwo(self):
self.val *= 2
def plusTwo(self):
self.val += 2
f = NumFactory(2)
for m in dir(f):
mthd = getattr(f,m)
if callable(mthd):
mthd()
print f.val
Забавный пример. Что будет в результате выполнения?
* 2
* 4
* 6
* 8
* исключение
+128
http://www.linkedin.com/reg/webmail-invite-v2?goback=%2Enpv_107866884_*1_*1_name_3B*5x_*1_*1_*1_193888328*4I417532095*4190_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_eml*5comm*4invm*5b*5profile*5newinvite_*1%2Efiie_*1_gmail_*1_*1_*1_*1_*1_*1&origin=gmail&flow=1qbwqgl-u8y0iy
красивый урл от linkedin
−103
def visit_params(visitor, params, schema=None):
"""
Визитор json'a
@param visitor: посетитель. функция, принимающая параметры, опционально схему и опционально ключ
@param params: параметры, передающиеся посетителю
@param schema: схема, передающаяся посетителю. Должна быть расширена до стандартных типов
@return: результат применения посетителя к параметрам
"""
def _visit_params_rec(params, schema=None, key=None):
if schema:
_type = schema.get('type')
if _type == 'object':
if not params:
params = {}
return {
k: _visit_params_rec(params.get(k), v, key=k)
for k, v in schema["properties"].iteritems()
}
if _type == 'array':
if not params:
params = []
return [
_visit_params_rec(item, schema["items"], key=key)
for item in params
]
return visitor(params, schema=schema, key=key)
# schema == None
if isinstance(params, dict):
return {
k: _visit_params_rec(v, key=k)
for k, v in params.iteritems()
}
if isinstance(params, list):
return [
_visit_params_rec(item, key=key)
for item in params.iteritems()
]
return visitor(params, key=key)
if schema:
return {
k: _visit_params_rec(params=params.get(k), schema=v, key=k)
for k, v in schema.iteritems()
}
if isinstance(params, dict):
return {
k: _visit_params_rec(params=v, key=k)
for k, v in params.iteritems()
}
raise Exception("Must be object %r" % params)
в продолжение http://govnokod.ru/15831
−98
def in_params(json, value, par_name, par_type, key=None):
"""
@param: par_type in [int, float, str, bool]
@return: is parameter in json
"""
if isinstance(json, dict):
return any(in_params(v, value, par_name, par_type, key=k) for k, v in json.iteritems())
if isinstance(json, list):
return any(in_params(e, value, par_name, par_type, key=None) for e in json)
# it's time to check value
if par_name and par_name != key:
return False
try:
if par_type == 'str':
return json.lower() == value.lower()
# type cast
return eval("""%s(%s) == %s(%s)""" % (par_type, json, par_type, value))
except:
return False
воюю с типизацией.
−102
is_zipped = not request.args.get('is_zipped', "false") == "false"
>>> bool("false")
True
>>> bool("False")
True
почему бы не сделать их ложью
−88
while ii<kol:
a = random.random()
z = str(a)
L = len(z)
i = 0
while i <L:
if z[i]=="0":
s0 +=1
elif z[i]=="1":
s1 +=1
elif z[i]=="2":
s2 +=1
elif z[i]=="3":
s3 +=1
elif z[i]=="4":
s4 +=1
elif z[i]=="5":
s5 +=1
elif z[i]=="6":
s6 +=1
elif z[i]=="7":
s7 +=1
elif z[i]=="8":
s8 +=1
elif z[i]=="9":
s9 +=1
i+=1
ii +=1
массивы для питухов
http://habrahabr.ru/post/183022/
+76
https://github.com/mongodb/mongo-java-driver/blob/master/src/main/com/mongodb/ConnectionStatus.java#L213
wtf?!
+79
private static String dbl2str(Object obj) {
String value;
String str = obj.toString();
if (str.indexOf('E') != -1) {
//System.out.print("1 ");
String[] qwe = str.split("E");
String newstr = "";
int step = Integer.parseInt(qwe[1]);
for (int ind = 0; ind < qwe[0].length(); ind++) {
if (step > 0) {
if ((ind == (step + 2)) && (ind != qwe[0].length())) {
newstr = newstr + '.';
}
if (str.charAt(ind) != '.') {
newstr = newstr + str.charAt(ind);
}
if ((ind == qwe[0].length() - 1) && (ind <= step)) {
for (int ind2 = 0; ind2 < (step + 1 - ind); ind2++) {
newstr = newstr + "0";
}
}
} else {
if (ind == 0) {
newstr = newstr + "0.";
for (int ind3 = 0; ind3 > step + 1; ind3--) {
newstr = newstr + "0";
}
}
if (str.charAt(ind) != '.') {
newstr = newstr + str.charAt(ind);
}
}
}
value = newstr;
} else {
value = obj.toString();
}
return value;
}
жгем, товарищи! Double to String!