Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
# vim: set fileencoding=latin-1 : # (find-es "python" "encoding") # This file: # http://angg.twu.net/fbcache/p.py # http://angg.twu.net/fbcache/p.py.html # (find-angg "fbcache/p.py") # # Edrx: # (defun p () (interactive) (find-angg "fbcache/p.py")) # (defun pu () (interactive) (find-angg "fbcache/p.py" "upload")) # (defun pq () (interactive) (find-wget "http://sourceforge.net/p/oiler/code/ci/master/tree/esc/quick.esc?format=raw")) # (defun pc () (interactive) (find-wget "http://sourceforge.net/p/oiler/code/ci/master/tree/esc/cmd.esc?format=raw")) # # Tau: # (defun p () (interactive) (find-fline "/tmp/p.py")) # (defun d () (interactive) (find-sh "cd /tmp/ && wget -O p.py http://angg.twu.net/fbcache/p.py")) # (find-angg ".pythonrc.py") # (find-angg "faceutils/README") # (find-es "python") # (find-pyfb "") # (find-facepy "") # (find-faceutils "") # (find-faceutils "get_txt") # (find-faceutils "url.py") # «.imports» (to "imports") # «.token» (to "token") # «.basic» (to "basic") # «.urls» (to "urls") # «.translations0» (to "translations0") # «.wget» (to "wget") # «.wrap» (to "wrap") # «.wrap-example» (to "wrap-example") # «.wrap-example-2» (to "wrap-example-2") # «.dooptions» (to "dooptions") # «.regexps» (to "regexps") # «.2014oct05» (to "2014oct05") # «.upload» (to "upload") # «.ep» (to "ep") # ___ _ # |_ _|_ __ ___ _ __ ___ _ __| |_ ___ # | || '_ ` _ \| '_ \ / _ \| '__| __/ __| # | || | | | | | |_) | (_) | | | |_\__ \ # |___|_| |_| |_| .__/ \___/|_| \__|___/ # |_| # # «imports» (to ".imports") import os import re import pprint import facebook import textwrap import subprocess # «token» (to ".token") # (find-angg ".pythonrc.py") # (find-es "facebook" "explorer") # https://developers.facebook.com/tools/explorer token = "CAACEdEose0cBAFZAhj4dxnvKhFhUzZB4swkQAvePUWCtueM89oeBieOUh0w6Ohv4HILwfMhbZC10GZCrbLNmNDixMkjyqPyZAX75UGw8jZA4ZAogisH5ThIw4v87UnhNXhpw4W6T1Mcx0rCwZAmwkuT0tLh6LH6VxaJJelwRqL5lrqne9LXgQ2hTs16fQffl69YVNq3uR0jnC55PSceVmZAAfQeWttb6x9NYZD" graph = facebook.GraphAPI(token) # ____ _ # | __ ) __ _ ___(_) ___ # | _ \ / _` / __| |/ __| # | |_) | (_| \__ \ | (__ # |____/ \__,_|___/_|\___| # # «basic» (to ".basic") def pp(o): pprint.pprint(o) def ggo(o): return graph.get_object(o) def po(o): pp(ggo(o)) def ee_expand (fname): fname = re.sub("^~", os.getenv("HOME"), fname) fname = re.sub("^\\$([A-Za-z0-9_]+)", lambda (m): os.getenv(m.group(1)), fname) return fname def readfile (fname): return open(ee_expand(fname)).read() def writefile (fname, str): open(ee_expand(fname), "w").write(str) def readfile_pp (fname): return eval(readfile(fname)) def writefile_pp (fname, obj): with open(ee_expand(fname), 'w') as fd: pprint.pprint(obj, stream=fd) return obj def fb_get_from_id (id): return graph.get_object("/v2.1/%s" % (id)) def fb_get_from_fname_id (fname, id): try: return readfile_pp(fname) except: return writefile_pp(fname, fb_get_from_id(id)) def fb_get_from_function_id (f, id): return fb_get_from_fname_id(f(id), id) def fb_get_from_function_url (f, url): (fname, id) = f(url) return fb_get_from_fname_id(fname, id) # _ # _ _ _ __| |___ # | | | | '__| / __| # | |_| | | | \__ \ # \__,_|_| |_|___/ # # «urls» (to ".urls") # (find-es "python" "string.gsub") # (find-faceutilsfile "url.py" "def rep(rgx):") # file:///usr/share/doc/python2.7/html/howto/regex.html#search-and-replace def string_format (fmt, tuple): return fmt % (tuple[:fmt.count("%s")]) def string_match (str, r): return re.search(r, str).groups() def string_gsub_t(str, r, tbl): return re.sub(r, (lambda (m): tbl[m.group(0)]), str) letter_to_re = { 'W':'([^/]+)', 'N':'([0-9]+)', 'O':'([^/&?]+)', 'L':'([^_]+)', 'R':'(.*)', '?':'\\?', '.':'\\.', } letter_to_fmt = { 'W':'%s', 'N':'%s', 'O':'%s', 'L':'%s', 'R':'', '?':'?', '.':'.' } # «translations0» (to ".translations0") # Lua version: (find-angg "fbcache/urls.lua" "translations0") translations0 = """ /W/photos/W/WR photos_L_L_L 3 /W/posts/NR posts_L_L 0 /permalink.php?story_fbid=N&set=OR pesfs_L_L 0 /photo.php?v=N&set=OR photovs_L_L 0 /photo.php?fbid=N&set=OR photofs_L_L 0 /photo.php?v=NR photov_L 0 /permalink.php?story_fbid=N&id=NR pesfi_L_L 1 /pages/W/NR pages_L_L 0 /notes/W/W/NR notes_L_L_L 0 /media/set/?set=OR media_L 0 /W/media_set?set=OR media0_L_L 0 /groups/W/permalink/N/R grpe_L_L 2 /events/W/permalink/N/R evpe_L_L 2 /events/N/N/R ev2_L_L 0 /events/N/R ev1_L 0 """ translations0_re = "([!-~]+)[ \t]+([!-~]+)[ \t]+([!-~]+)" translations1 = re.findall(translations0_re, translations0) def abc_to_tr (a, b, c): f_re = lambda (str): string_gsub_t(str, "[WNORL?.]", letter_to_re) f_fmt = lambda (str): string_gsub_t(str, "[WNORL?.]", letter_to_fmt) f = lambda (str): ("^" + f_re(str) + "$", f_fmt(str)) ha = "https://www.facebook.com" + a return (f(ha), f(b), int(c)) translations2 = [] for (a, b, c) in translations1: translations2.append(abc_to_tr(a, b, c)) def translations_which (str, j): for i in range(0, len(translations2)): try: rgx = translations2[i][j][0] parts = string_match(str, rgx) return (i, parts) except: pass def url_to_fname (url): (i, parts) = translations_which(url, 0) fmt = translations2[i][1][1] return string_format(fmt, parts) def fname_to_url (fname): (i, parts) = translations_which(fname, 1) fmt = translations2[i][0][1] return string_format(fmt, parts) def url_to_iparts (url): return translations_which(url, 0) def iparts_to_id (iparts): (i, parts) = iparts whichpart = translations2[i][2] if whichpart > 0: return parts[whichpart - 1] # This is very high-level stuff! Beware! def url_to_iobj (url): (i, pairts) = url_to_iparts(url) id = iparts_to_id((i, pairts)) fname = "~/fbcache/cache_by_id/" + id return (i, fb_get_from_fname_id(fname, id)) # def f_t (id): # return "/tmp/"+id # def fi (id): # return fb_get_from_function_id(f_t, id) def fb_urls_from_string (bigstr): return re.findall("(http[!-~]+)", bigstr) def fb_urls_from (fname): return fb_urls_from_string(readfile(fname)) def cache_urls (urls_list): for url in urls_list: try: obj = url_to_iobj(url) print(url) except: pass # (find-sh "grep www.facebook.com ~/TODO | sort | tee /tmp/of") # (find-fline "/tmp/of") # Experimental urls_lst = re.findall("(http[!-~]+)", readfile("urls.lst")) def urls_of_kind (kind): for url in urls_lst: try: (i, parts) = translations_which(url, 0) if i == kind: print url print parts except: pass """ * (eepitch-python) * (eepitch-kill) * (eepitch-python) execfile("p.py", globals()) url1 = "https://www.facebook.com/RioNaRua/posts/1512975565581359" fname1 = 'posts_RioNaRua_1512975565581359' url_to_fname(url1) fname_to_url(fname1) cache_urls(fb_urls_from("urls.lst")) cache_urls(fb_urls_from("~/TH/ee.blogme")) cache_urls(fb_urls_from("~/TH/links-sobre-gaza.blogme")) cache_urls(fb_urls_from("/tmp/of")) # (find-fline "~/TH/ee.blogme") # (find-fline "~/fbcache/cache_by_id/") url2 = "https://www.facebook.com/617121238319221/photos/a.617156974982314.1073741828.617121238319221/791252907572719/?type=1" # ********** pp(url_to_iparts(url2)) pp(url_to_iobj(url2)) # (find-fline "~/fbcache/cache_by_id/") for url in urls_lst: try: obj = url_to_iobj(url) print(url) except: pass ee_expand("~/fbcache/cache_by_id/791252907572719") for url in urls_lst: print translations_which(url, 0) urls_of_kind(0) pp(fi("587541661354935")) # urls_of_kind(1) # pp(fi("925993824083710")) # pp(fi("767290823334891")) # urls_of_kind(2) # urls_of_kind(3) # urls_of_kind(4) # pp(fi("100000506804612")) # pp(fi("114698335223726")) # pp(fi("900630653297153")) urls_of_kind(5) urls_of_kind(6) pp(fi("921476867869306")) # content pp(fi("347772661906399")) # something else urls_of_kind(7) urls_of_kind(8) urls_of_kind(9) pp(fi("274406112761308")) # content (but link redirects to media/set) pp(fi("1073741828")) # error pp(fi("274323649436221")) # something else urls_of_kind(10) urls_of_kind(11) pp(fi("741666739234537")) # works urls_of_kind(12) pp(fi("363189927163010")) # description (doesn't have a link) pp(fi("366157006866302")) # top post (doesn't have a link to the event) # https://www.facebook.com/events/321541207970578/permalink/322758714515494/ # ('321541207970578', '322758714515494', '') pp(fi("321541207970578")) pp(fi("322758714515494")) pp(fi("")) pp(fi("230472160479780")) pp(fi("277828559039269")) urls_of_kind(13) urls_of_kind(14) pp(fi("")) """ # _ # __ ____ _ ___| |_ # \ \ /\ / / _` |/ _ \ __| # \ V V / (_| | __/ |_ # \_/\_/ \__, |\___|\__| # |___/ # # «wget» (to ".wget") # file:///usr/share/doc/python2.7/html/library/subprocess.html fb_wget_user_agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070310 Iceweasel/2.0.0.3 (Debian-2.0.0.3-1)" def wget_cmd (fname, url): return ['wget', '--progress=dot', '-U', fb_wget_user_agent, '-O', fname, url] def wget_from_fname_url (fname, url): try: return readfile(fname) except: subprocess.call(wget_cmd(fname, url)) return readfile(fname) def fb_wget_fname0 (url): return ee_expand("~/fbcache/cache_wget/" + url_to_fname(url)) def fb_wget_clear (url): subprocess.call(["rm", "-fv", fb_wget_fname0(url)]) def fb_wget_url (url): return wget_from_fname_url(fb_wget_fname0(url), url) """ * (eepitch-python) * (eepitch-kill) * (eepitch-python) * (find-sh0 "rm -v /tmp/o") execfile("p.py", globals()) url = 'http://angg.twu.net/.cshrc' content = wget_from_fname_url('/tmp/o', url) len(content) content = wget_from_fname_url('/tmp/o', url) len(content) print content * (eepitch-python) * (eepitch-kill) * (eepitch-python) execfile("p.py", globals()) url = 'https://www.facebook.com/augusto.lima.9849/posts/307609159410432' url = 'https://www.facebook.com/AdvogadosAtivistas/posts/659720537431177' fb_wget_fname0(url) fb_wget_clear(url) len(fb_wget_url(url)) len(fb_wget_url(url)) # (find-fline "~/fbcache/cache_wget/") """ """ * (eepitch-python) * (eepitch-kill) * (eepitch-python) execfile("p.py", globals()) pp(translations2) """ # _ # __ ____ _ ___| |_ # \ \ /\ / / _` |/ _ \ __| # \ V V / (_| | __/ |_ # \_/\_/ \__, |\___|\__| # |___/ # # «wget» (to ".wget") # (find-anggfile "fbcache/urls.lua" "fb_wget =") # _ _ _ _ # _ _ _ __| | | |_ ___ | |_ _____ _| |_ # | | | | '__| | | __/ _ \ | __/ _ \ \/ / __| # | |_| | | | | | || (_) | | || __/> <| |_ # \__,_|_| |_| \__\___/ \__\___/_/\_\\__| # # (find-faceutilsfile "faceutils.py") # From: (find-faceutilsfile "get_txt" "= facebook.GraphAPI(opt.token)") # By Tau. Uses a heuristic, and is slow def url_to_text (url): graph = facebook.GraphAPI(token) obj_list = get_object(graph, opt.url) data = '' for o in obj_list: data = '%s\n\n%s' % (data, get_obj_text(o)) return data # (find-THfile "2011-meios-e-fins.blogme") emma = """ It is at once the great failure and the great tragedy of the Russian Revolution that it attempted (in the leadership of the ruling political party) to change only institutions and conditions while ignoring entirely the human and social values involved in the Revolution. Worse yet, in its mad passion for power, the Communist State even sought to strengthen and deepen the very ideas and conceptions which the Revolution had come to destroy. It supported and encouraged all the worst anti-social qualities and systematically destroyed the already awakened conception of the new revolutionary values. The sense of justice and equality, the love of liberty and of human brotherhood -- these fundamentals of the real regeneration of society -- the Communist State suppressed to the point of extermination. Man's instinctive sense of equity was branded as weak sentimentality; human dignity and liberty became a bourgeois superstition; the sanctity of life, which is the very essence of social reconstruction, was condemned as un-revolutionary, almost counter-revolutionary. This fearful perversion of fundamental values bore within itself the seed of destruction. With the conception that the Revolution was only a means of securing political power, it was inevitable that all revolutionary values should be subordinated to the needs of the Socialist State; indeed, exploited to further the security of the newly acquired governmental power. "Reasons of State," masked as the "interests of the Revolution and of the People," became the sole criterion of action, even of feeling. Violence, the tragic inevitability of revolutionary upheavals, became an established custom, a habit, and was presently enthroned as the most powerful and "ideal" institution. Did not Zinoviev himself canonize Dzerzhinsky, the head of the bloody Tcheka, as the "saint of the Revolution"? Were not the greatest public honours paid by the State to Uritsky, the founder and sadistic chief of the Petrograd Tcheka? This perversion of the ethical values soon crystallized into the all-dominating slogan of the Communist Party: THE END JUSTIFIES ALL MEANS. Similarly in the past the Inquisition and the Jesuits adopted this motto and subordinated to it all morality. It avenged itself upon the Jesuits as it did upon the Russian Revolution. In the wake of this slogan followed lying, deceit, hypocrisy and treachery, murder, open and secret. It should be of utmost interest to students of social psychology that two movements as widely separated in time and ideas as Jesuitism and Bolshevism reached exactly similar results in the evolution of the principle that the end justifies all means. The historic parallel, almost entirely ignored so far, contains a most important lesson for all coming revolutions and for the whole future of mankind. """ # # __ ___ __ __ _ _ __ # \ \ /\ / / '__/ _` | '_ \ # \ V V /| | | (_| | |_) | # \_/\_/ |_| \__,_| .__/ # |_| # «wrap» (to ".wrap") # (find-es "python" "faceutils-wrap") # file:///usr/share/doc/python2.7/html/library/textwrap.html # file:///usr/share/doc/python2.7/html/library/textwrap.html#textwrap.wrap # file:///usr/share/doc/python2.7/html/library/stdtypes.html#str.join # file:///usr/share/doc/python2.7/html/library/stdtypes.html#str.split def mydecode (str): return str.decode('string-escape') def string_gsub_f(str, r, f): return re.sub(r, f, str) def myrecode (str): return str.encode('latin-1') def mywrap1 (str): return "\n".join(textwrap.wrap(str, 69)) def mywrap (str): f = lambda (m): mywrap1(myrecode(m.group(0))) + "\n" return string_gsub_f(str, "[^\n]+", f) """ * (eepitch-python) * (eepitch-kill) * (eepitch-python) # (find-eevrc ".pythonrc.py") execfile("p.py", globals()) str = "foo\nbar\nplic" mywrap(str) mywrap1(str) string_gsub_f(str, "[^\n]+", lambda (m): "<" + m.group(0) + ">") pp(mywrap0(emma)) print mywrap(emma) # (find-fline "~/fbcache/cache_by_id/141539566016667") # (find-fline "/tmp/cache_by_id/141539566016667") fname = "~/fbcache/cache_by_id/141539566016667" fname = "/tmp/cache_by_id/141539566016667" o = readfile_pp(fname) o['name'] print o['name'] print o['name'].encode('latin-1') print o['name'].encode('latin-1').encode('latin-1') print mywrap(o['name']) print o['name'].encode('latin-1') mydecode(o['name']) # o['name'] # print o['name'] # «wrap-example» (to ".wrap-example") Original: Vou esclarecer pela ultima vez os fatos recentes, mas antes... Gente! 50 mil likes!!! <3 Estão me criticando por ter rebatido o preconceito de uma pessoa que supostamente tem 13 anos. Estão defendendo uma agressora por causa de determinações biológicas (Ela - "Mulher de verdade" Eu - "Mulher de mentira" devo ficar calada quando vierem me esculhambar, não é mesmo?) Estão dizendo que eu fui misógina. E eu vou explicar tudo pra vocês. 1 - Facebook não é local pra crianças (Não tenho como adivinhar a idade da pessoa pela foto). 2 - Eu não abro e nem tenho tempo pra abrir o perfil de quem me manda mensagem de ódio. 3 - Como vocês sabem, a maioria das pessoas que me mandam mensagens de ódio são fakes, pensei que ela era fake devido ao sobrenome (Totalmente compreensível!). 4 - Se ela própria acha que o que a faz mulher é menstruar, ter vagina e filhos (E que isso tudo a faz superior a outro ser humano - Pasme! Eu! Então ela vai ter um choque de realidade! Porque ser mulher é uma construção psicossocial). As mulheres que não podem menstruar ou não podem ter filhos viram automaticamente homens? Tenho que avisar isso a minha mãe, ela acaba de virar "meu pai"! 5 - Eu não tenho sangue de barata pra ouvir provocação e não rebater. 6 - Eu não fui até o perfil dela, ela veio, procurou... E achou o que queria! ^_^ 7 - A gíria "Rapariga! Vou lacrar o cu das inimigas" Ou "Rapariga! Vou rasgar o cu das inimigas" são bordões lbgt's que eu usei com um seguidor, em momento algum me dirigi a ela dessa forma. Então avisem também a RomaGaga que ela está promovendo o estupro, já que querem ser tão desonestas... Que sejam coerentes ao menos. 8 - Estão dizendo que meninas de 13 anos não podem ser transfóbicas, bom... Ela pareceu BASTANTE transfóbica pra mim. 9 - Se ela quiser me processar, peço que me mande uma mensagem privada onde o meu endereço e dados serão disponibilizados, espero uma retribuição do favor - Já que eu tenho o gênero feminino de acordo com o estado, e quem for contra esse fato está me causando constrangimento. Atitude passível de indenização. 10 - Todas as pessoas que de alguma forma apoiaram as TERFS (Feministas Radicais Transfóbicas) foram banidas, sabe porque? Porque aqui NÃO É UMA DEMOCRACIA BABY. Agora eu começo a entender porque eu tenho amigas Trans que se distanciaram do movimento feminista. É a agressão que mais dói. Porque de homem eu tô acostumada, agora "fogo-amigo" é um outro nível! # «wrap-example-2» (to ".wrap-example-2") Quando a gente roda "foo 141539566016667" ele deve mandar isto aqui pro stdout: Vou esclarecer pela ultima vez os fatos recentes, mas antes... Gente! 50 mil likes!!! <3 Estão me criticando por ter rebatido o preconceito de uma pessoa que supostamente tem 13 anos. Estão defendendo uma agressora por causa de determinações biológicas (Ela - "Mulher de verdade" Eu - "Mulher de mentira" devo ficar calada quando vierem me esculhambar, não é mesmo?) Estão dizendo que eu fui misógina. E eu vou explicar tudo pra vocês. 1 - Facebook não é local pra crianças (Não tenho como adivinhar a idade da pessoa pela foto). 2 - Eu não abro e nem tenho tempo pra abrir o perfil de quem me manda mensagem de ódio. 3 - Como vocês sabem, a maioria das pessoas que me mandam mensagens de ódio são fakes, pensei que ela era fake devido ao sobrenome (Totalmente compreensível!). 4 - Se ela própria acha que o que a faz mulher é menstruar, ter vagina e filhos (E que isso tudo a faz superior a outro ser humano - Pasme! Eu! Então ela vai ter um choque de realidade! Porque ser mulher é uma construção psicossocial). As mulheres que não podem menstruar ou não podem ter filhos viram automaticamente homens? Tenho que avisar isso a minha mãe, ela acaba de virar "meu pai"! 5 - Eu não tenho sangue de barata pra ouvir provocação e não rebater. 6 - Eu não fui até o perfil dela, ela veio, procurou... E achou o que queria! ^_^ 7 - A gíria "Rapariga! Vou lacrar o cu das inimigas" Ou "Rapariga! Vou rasgar o cu das inimigas" são bordões lbgt's que eu usei com um seguidor, em momento algum me dirigi a ela dessa forma. Então avisem também a RomaGaga que ela está promovendo o estupro, já que querem ser tão desonestas... Que sejam coerentes ao menos. 8 - Estão dizendo que meninas de 13 anos não podem ser transfóbicas, bom... Ela pareceu BASTANTE transfóbica pra mim. 9 - Se ela quiser me processar, peço que me mande uma mensagem privada onde o meu endereço e dados serão disponibilizados, espero uma retribuição do favor - Já que eu tenho o gênero feminino de acordo com o estado, e quem for contra esse fato está me causando constrangimento. Atitude passível de indenização. 10 - Todas as pessoas que de alguma forma apoiaram as TERFS (Feministas Radicais Transfóbicas) foram banidas, sabe porque? Porque aqui NÃO É UMA DEMOCRACIA BABY. Agora eu começo a entender porque eu tenho amigas Trans que se distanciaram do movimento feminista. É a agressão que mais dói. Porque de homem eu tô acostumada, agora "fogo-amigo" é um outro nível! MAX = 69 dir = "/home/edrx/usrc/faceutils-code/wget/" fname = dir + "posts_ortelladopablo_759874930744749.wget" post = '\n'.join(wrap(post, MAX)) post = post.decode('string-escape') print post """ # _ _ _ # __| | ___ ___ _ __ | |_(_) ___ _ __ ___ # / _` |/ _ \ / _ \| '_ \| __| |/ _ \| '_ \/ __| # | (_| | (_) | (_) | |_) | |_| | (_) | | | \__ \ # \__,_|\___/ \___/| .__/ \__|_|\___/|_| |_|___/ # |_| # # «dooptions» (to ".dooptions") def dooptions (args): if len(args) > 0: print args[0] # print "1" dooptions(args[1:]) print "Done" # def dooptions (args): # if len(args) == 0: # return # # if args[0] == "-wget" # print "wget:", args[1] # return dooptions(args[2:]) # if args[0] == "-get" # print "get:", args[1] # return dooptions(args[2:]) # if args[0] == "-url" # print "url:", args[1] # return dooptions(args[2:]) # # print "Bad option: " + args[0] """ * (eepitch-python) * (eepitch-kill) * (eepitch-python) execfile("p.py", globals()) dooptions(("-wget", "foo", "-url", "uuu")) ee_expand("~/foo") ee_expand("$HOME/foo") """ # http://www.tutorialspoint.com/python/python_tuples.htm # http://www.tutorialspoint.com/python/python_decision_making.htm # -wget url # -get url # -url url # -print_json # -write_json fname # -read_json fname # -print_dict # -write_dict fname # -read_dict fname # -write_html fname # -read_html fname # -get_text1 # -write_text # -utof url # -ftou fname """ * (eepitch-python) * (eepitch-kill) * (eepitch-python) execfile("p.py", globals()) ee_expand("~/foo") ee_expand("$HOME/foo") """ """ # «regexps» (to ".regexps") # (find-es "python" "string.gsub") * (eepitch-python) * (eepitch-kill) * (eepitch-python) execfile("p.py", globals()) # file:///usr/share/doc/python2.7/html/library/re.html#re.MatchObject.groups # file:///usr/share/doc/python2.7/html/library/stdtypes.html#str.count # file:///usr/share/doc/python2.7/html/reference/executionmodel.html#naming # file:///usr/share/doc/python2.7/html/reference/expressions.html#lambda """ def f_t (id): return "/tmp/"+id def fi (id): return fb_get_from_function_id(f_t, id) def fc (id): print id fname = "~/fbcache/cache_by_id/" + id try: fb_get_from_fname_id(fname, id) except: pass def fcs (bigstr): for id in re.findall("[0-9]+", bigstr): fc(id) """ # «2014oct05» (to ".2014oct05") * (eepitch-python) * (eepitch-kill) * (eepitch-python) * (find-sh0 "rm -v /tmp/o") # (find-eevrc ".pythonrc.py") execfile("p.py", globals()) pp(fi("349931288498768_356917681133462")) pp(fi("356917681133462")) pp(fi("753833871331289")) fb_id = '349931288498768_356917681133462' fb_get_from_fname_id("/tmp/o", fb_id) fb_get_from_fname_id("/tmp/o", fb_id) fb_get_from_function_id(f_t, fb_id) fb_get_from_function_id(f_t, fb_id) return fb_get_from_fname_id(f(id), id) o = fb_get_from_id("857183890966831") type("foo") type(pp) pp(fb_get_from_id("857183890966831")) # graph = facebook.GraphAPI(token) req = "/v2.1/%s" % (fb_id) obj = graph.get_object(req) writefile_pp("/tmp/o", obj) obj readfile_pp("/tmp/o") # (find-facepyfile "facepy/graph_api.py") """ """ * (eepitch-python) * (eepitch-kill) * (eepitch-python) # (find-eevrc ".pythonrc.py") execfile("p.py", globals()) ee_expand("~/foo") ee_expand("$LUA_INIT/foo") os.getenv("LUA_INIT") dooptions(("-ftou", "http://foo")) dooptions(()) ().type() type(()) type((2, 3)) L = (10, 20, 30) print(L) print(L[1]) print(L[0:]) print(L[1:]) print(L[2:]) print(L[3:]) print(L.len) print(L.length) * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) dofile "p.py" """ """ # «upload» (to ".upload") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) makeR1 fbcache/p.py.html Scp-np fbcache/p.py.html fbcache/p.py $TWUP/fbcache/ Scp fbcache/p.py.html fbcache/p.py $TWUP/fbcache/ scp fbcache/p.py.html fbcache/p.py $TWUP/fbcache/ scp -v fbcache/p.py.html fbcache/p.py $TWUP/fbcache/ # http://angg.twu.net/fbcache/p.py.html # http://angg.twu.net/fbcache/p.py.html#wget # http://angg.twu.net/fbcache/p.py.html#wrap # http://angg.twu.net/fbcache/p.py.html#wrap-example-2 # «ep» (to ".ep") # http://angg.twu.net/fbcache/p.py.html#ep # (find-eev-intro "way 1") { { echo '#!/bin/sh' echo 'cd ~/eev/ && emacs -l ./eev-readme.el /tmp/p.py' } > /tmp/ep chmod 755 /tmp/ep } """ # Local Variables: # coding: raw-text-unix # End: