Архив за Июнь 2010

1,2,3 день на работе.

Встаем утром, завтракаем и собираемся выходить. Как оказалось надо было взять собой что-нибудь из более или менее солидной одежки. В Турции, как я понял, даже сис.админы солидно одеваются. И даже мужички которые разносят чай. А я с собой почти ничего не взял, с расчетом, что куплю здесь потом. Ну в общем в первый день я пошел на работу вот в этом:

когда все были одеты нормально. :) ну хорошо, что я не нацепил свою футболку с надписью «I just did your girlfriend.» Тогда бы вообще был полный ппц.

Из нашего универа в Анкаре 30 человек идущих в 7 различных компаний, а управляющих всего 4 человека. По этому пришлось побродить по городу и дождаться когда там уладят дела с другими компаниями. Пока ждали общались и фотались с охранниками. Если особо не о чем поговорить, то можно спросить про футбол. :)

Шатаясь по улицам, я фотаю все подрят, что приглянется. Особенно меня прикалывают местные такси. Их много, все желтые, некоторые из них в каком-то смысле протюнингованы, ну как минимум диски.

Читать далее

Cross post на yVision

В день отлета из Алматы мне захотелось замутить кросс-постинг на yVision со своего блога. Я подумал, что было бы здорово если бы у меня была например такая кнопочка

Попытки погуглить crossposting на yVision ничего не дали. И тогда я поискал что есть у Питона по этой теме. Остановился я на ClientCookie, ClienForm библиотеках. В тот же день добился вот такого результата, с помошью которого я смог закинуть свой первый Test Post.

#coding: utf-8
import urllib2, cookielib
import ClientCookie
from ClientForm import *

YVI_LOGIN = "your login"
YVI_PASSWORD = "and password"
# если знаете можно указать ID своего логина
# но не обязательно.
YVI_USER_ID = None

# нам надо получить куки авторизации
request = ClientCookie.Request("http://yvision.kz/auth/")
response = ClientCookie.urlopen(request)

# парсим все формы, на страничке
forms = ParseResponse(response, backwards_compat=False)
# нам нужна вторая, первая это фома поиска
form = forms[1]

# заполняем форму, меням экшн. через аякс данный отправляются именно сюда
form.action = 'http://yvision.kz/ajax/auth/login.php'
form['login'] = YVI_LOGIN
form['password'] = YVI_PASSWORD
request = form.click()
# получили куки
response = ClientCookie.urlopen(request)

# теперь идем на нашу форму добавления поста
request = ClientCookie.Request('http://%s.yvision.kz/manage/article/add' % YVI_LOGIN)

# если надо подрелактировать существующий пост, тогда идем сюда
#POST_ID = 55019
#request = ClientCookie.Request('http://%s.yvision.kz/manage/article/edit/%s' % (YVI_LOGIN,POST_ID))

response = ClientCookie.urlopen(request)
# парсим все формы, на страничке
forms = ParseResponse(response, backwards_compat=False)
# нам нужна третяя, первая это фома поиска, вторая форма логаут
form = forms[2]

# заполняем форму, меням экшн. через аякс данный отправляются именно сюда
form.action = 'http://%s.yvision.kz/ajax/post/article.php?publicate=1' % YVI_LOGIN
form['blog_title'] = "Python-Yvi Crosspost Test"
form['blog_post'] = "<p>Python-Yvi Crosspost Test</p>"
form['blog_tags'] = "test,crosspost"
if YVI_USER_ID is not None:
    form.new_control('hidden','user-id',{'id':'user-id','value':YVI_USER_ID})
form.new_control('hidden','save',{'value':'Сохранить (останется скрытой)'})
form.new_control('hidden','saveexit',{'value':'Опубликовать'})

#form.controls.remove(form.find_control('publ'))
#request.add_header('X-Requested-With', 'XMLHttpRequest')
#request.add_header('X-Prototype-Version', '1.6.0.2')

# постим
request = form.click()
response = ClientCookie.urlopen(request)

потом начал прикручивать, это дело к своему блогу и тут у меня вышли проблемы с кодировкой. когда пишешь на русском, выходит exception. И я не смог доделать эту фичу в тот же день. Мы улeтели в анкару.

И вот сегодня на работе, добравшись до интернета решил снова покопаться. очень долго сверлил гугл, надеясь нарваться на что-нибудь похожее. В результате нашел... :) причина оказалось в беспанотовости urllib.quote_plus. в общем я немного подредактировал ClientForm.py, и все заработало.

вот тут лежит архив c библиотеками и моей реализацией задачи

yvi_crosspost.tar.gz

ну вот. как-то так. вроде работает. :)

Читать далее

Второй день в Анкаре.

Сегодня с утра пошли в музей Ататурка. Как на зло на фотике села батарейка, а зарядить я ее не мог потому-что вилка на переходнике сломалась. И на ближайшем базарчике такого переходника не нашлось. Огромная территория музея меня доконала очень быстро. Я не большой любитель музеев, и все мои гуляния по музею были в стиле «skip, skip, mmm... what is this? Skip»

После музея мы вернулись в общягу на обед, потом пошли в какой-то парк.

Турки смотря на наших казахов думают, что они японцы. Не знаю почему японцы, а не китайцы или корейцы, наверное им так хочется. А наши та по турецки понимают, и как бы входят в роль, включая всякие запомнившиеся отрывки из аниме. :) Турки в восторге. Главное даже если им на их же языке скажешь, что ты не японец, а казах, они могут выдать что-то вроде «Ух ты смотри японец по турецки говорит». Там прогулялись, дошли до памятника Назарбаева. Кстати памятник был как-бы закрыт, перевязан красной ленточкой, но мы полезли туда фотаться и в общем порвали ленту, устроили, так сказать, неофициальное открытие памятника. Прохожие на нас так таращились. :)

Читать далее

Летим в Анкару

Сейчас я нахожусь в Анкаре по адресу, как утверждает охранник общежития, G.M.K Bulvari No. 139. Уже вечер, сижу на выделенной мне кровати, делать особо нечего, и можно сесть и пролистать в голове все, что произошло со мной за последние 24 часа.

Вчера утром я еще не знал, что уже сегодня в 6 утра окажусь в Истанбуле. Как-то так получилось, что наш факультет не участвовал в организации этой поездки и нас не оповещали о том, что предстоит до самого последнего момента. Только в 6 вечера мне «предложили» подойти в универ к 10 часам, откуда как оказалось мы едим в аэропорт и улетаем. :) ну да ладно. Мы путешествуем на легке, так что такая неожиданная новость нас никак не расстроила. Единственное, я не поел перед отъездом и уже в 10 был голодный как волк.

Мы вылетели только в 3 утра, к тому времени я чертовски хотел есть и спать, и меня ничего не интересовало кроме того, когда же стюардесса мне что-нибудь предложит поесть. При взлете был неплохой вид на ночную Алмату.

После взлета стало немного холодновато, и я укрылся покрывалом и.... ждал, ждал когда же появится на горизонте человек который накормит меня. я потерял счет времени... а потом в какой то момент подошла стюардесса и произнесла замечательную, потрясающую фразу «Breakfast, Sir». Она протянула мне что-то, я даже и не думал колебаться. В общем тушенная трава и разогретый слоеный хлеб мне показался очень вкусным. Так же там был сыр, оливки, и маленький ломтик пирога. Я это употребил и чувствовал, что теперь могу спокойно уснуть. Как потом оказалось некоторые личности нашей группы умудрились съесть до 4 таких порций.

Проснулся я когда стало светло и за окном был потрясающий вид, соответственно я тут же начал фотать это дело. Вскоре сообщили, что мы идем на посадку и надо пристегнуть ремни. Нырнув под облака открылся вид на какое-то побережье, потом на какой-то пролив, а потом и на сам Истанбул. Классно....

Читать далее

Hello world!!!

Привет, всем. Вот нашел применение подарeнному ID VPS. Точнее, куда его применить у нас всегда найдется, а блог это просто одно из быстро реализуемых вещей. Блог реализую сам, на django, и постепенно буду дорабатывать его под свои нужды. По мимо всякого бреда, здесь также буду писать о проектах над которыми работаю, и о технологиях которые изучаю. Например думаю было бы удобно вести свои TODO по проекту на блоге. Ну и например сделать так чтобы некоторые посты относились к конкретному проекту, и чтобы там не маячили всякие мысли о жизни и т.д. ну да ладно, это все впереди.

Вообще давно хотел завести себе блог. Не потому-что считаю что мне есть чем поделиться с миром, или что кому-то есть дело до моего мнения, а хотя бы просто потому-что не забывать о чем думал, или как делал вещи год или два назад. Да и вообще выражать или сливать свои мысли куда-нибудь думаю полезная практика.

Тем более сейчас лето. Учеба закончилась. Самое время расслабиться и заняться чем-нибудь новым. Вот например завести блог это ново. Да и вообще писать что нибудь не на языке программирования очень непривычно, буду развивать в себе это способность. Скоро я отправляюсь на производственную практику в Турцию, нового будет много, впечатлений будет много, будет с чего начать заполнять блог.

ну вот и все наверное. достаточно написал для банального Hello World!