Discussion:
[ekg-users] Alternatywny skrypt do skracania linkow w ekg.
fi9o
2012-01-05 11:38:07 UTC
Permalink
Jakis czas temu na tej liscie trwala rozmowa na temat skryptu do skracania
a ja ostatnio jakos trafilem na tez dobry skrypt ktory wykonuje ta
czynnosc ale korzysta z tinyurl oraz nie wymaga zadnego konta.

Zamieszczam skrypt ze strony autora zeby nikt nie posadzil mnie o
przywlaszczenie sobie go.
http://dies.dicant.net/wp-content/uploads/2009/01/tiny.py
Pozdrawiam, fi9o
Jacek Osiecki
2012-01-05 12:16:53 UTC
Permalink
Jakis czas temu na tej liscie trwala rozmowa na temat skryptu do skracania a
ja ostatnio jakos trafilem na tez dobry skrypt ktory wykonuje ta czynnosc ale
korzysta z tinyurl oraz nie wymaga zadnego konta.
Zamieszczam skrypt ze strony autora zeby nikt nie posadzil mnie o
przywlaszczenie sobie go.
http://dies.dicant.net/wp-content/uploads/2009/01/tiny.py
Pozdrawiam, fi9o
Dzi?ki, przyda si? :)
Cho? warto doda? warunek by tinyurl by? tworzony dopiero gdy oryginalny
url jest d?u?szy ni? xxx znak?w...
Swoj? drog?, w ko?cu mnie to ruszy?o do skompilowania ekg z pythonem
i nareszcie rozwi?za?em problem automatycznego tworzenia konferencji na
starcie ekg :)

Pozdrawiam,
--
Jacek Osiecki joshua at ceti.pl GG:3828944
I don't want something I need. I want something I want.
fi9o
2012-01-05 15:13:16 UTC
Permalink
Post by Jacek Osiecki
Jakis czas temu na tej liscie trwala rozmowa na temat skryptu do skracania a
ja ostatnio jakos trafilem na tez dobry skrypt ktory wykonuje ta czynnosc ale
korzysta z tinyurl oraz nie wymaga zadnego konta.
Zamieszczam skrypt ze strony autora zeby nikt nie posadzil mnie o
przywlaszczenie sobie go.
http://dies.dicant.net/wp-content/uploads/2009/01/tiny.py
Pozdrawiam, fi9o
Dzi?ki, przyda si? :)
Cho? warto doda? warunek by tinyurl by? tworzony dopiero gdy oryginalny
url jest d?u?szy ni? xxx znak?w...
Swoj? drog?, w ko?cu mnie to ruszy?o do skompilowania ekg z pythonem
i nareszcie rozwi?za?em problem automatycznego tworzenia konferencji na
starcie ekg :)
Pozdrawiam,
Wiesz pisalem w tej sprawie do autora, ale jak sie okazalo zmienil mejla.
Jesli wprowadzisz takie zmiany to ja chetnie podmienie ten defaultowy na
ten z ta zmiana.
niestety sam teog nie zrobie, brakuje zdolnosci mnie do tego.
Myslalem, czy nie dobrym pomyslem by bylo gdyby obok skroconego linku bylo
<tytul strony> by wiadomo w co klikamy.
Dla siebie zrobilem np tak, ze dostaje od razu gotowy skrocony link i nie
wiem jaki byl poprzedni.

Pozdrawiam, fi9o.
Michał Malisz
2012-01-05 14:45:36 UTC
Permalink
W dniu 5 stycznia 2012 13:16 u?ytkownik Jacek Osiecki
Cho? warto doda? warunek by tinyurl by? tworzony dopiero gdy oryginalny url
jest d?u?szy ni? xxx znak?w...
Wystarczy lini?:
if m.group(0).find("tinyurl") < 0:
zast?pi? :
if m.group(0).find("tinyurl") > xxx:
--
Pozdrawiam,
Micha?
Michał Malisz
2012-01-05 14:47:13 UTC
Permalink
W dniu 5 stycznia 2012 15:45 u?ytkownik Micha? Malisz
Cofam to, wtedy skrypt w og?le nie skraca :P
--
Pozdrawiam,
Micha?
Michał Malisz
2012-01-05 14:58:11 UTC
Permalink
Ok, chyba mam. Funkcj? add_tiny_url zast?pujemy:
def add_tiny_url(text):
i = 1
for m in re.finditer(regulka, text):
if m.group(0).find("tinyurl") < 100:
#ekg.printf("generic","tiny__" + str(i) + ": " +
tiny_url(m.group(0)))
longurl = m.group(0)
if len(longurl) >= 100:
tinyurl = tiny_url(m.group(0))
text = text.replace(m.group(0),tinyurl + "\n" +
longurl + "\n")
i = i + 1
return text

Mo?e nie jest to zbyt schludne, ale dzia?a.
--
Pozdrawiam,
Micha?
fi9o
2012-01-05 16:23:22 UTC
Permalink
Post by Michał Malisz
i = 1
#ekg.printf("generic","tiny__" + str(i) + ": " +
tiny_url(m.group(0)))
longurl = m.group(0)
tinyurl = tiny_url(m.group(0))
text = text.replace(m.group(0),tinyurl + "\n" +
longurl + "\n")
i = i + 1
return text
A nie dalbys rade poczynic takiej zmiany ktora by pokazywala tytul strony
ktorej adres bedzie skrocony? <:
Po czyms takim ta linijke:

text = text.replace(m.group(0),tinyurl + "\n" + longurl + "\n")
Zmienimy na
text = text.replace(m.group(0),tinyurl)
Co daje nam sam link z tinyurl za ktorym moglby sie pojawiac tytul tej
skroconej strony ;p


Pozdrawiam!
Michał Malisz
2012-01-05 15:25:45 UTC
Permalink
Post by fi9o
A nie dalbys rade poczynic takiej zmiany ktora by pokazywala tytul strony
W?a?nie nad tym pracuj?, chocia? moja znajomo?? pythona ogranicza si?
do korzystania z google.com :P
--
Pozdrawiam,
Micha?
Michał Malisz
2012-01-05 15:35:54 UTC
Permalink
Ok, mam, znalezione tutaj:
http://stackoverflow.com/questions/51233/how-can-i-retrieve-the-page-title-of-a-webpage-using-python

...
import BeautifulSoup
...

def add_tiny_url(text):
i = 1
for m in re.finditer(regulka, text):
if m.group(0).find("tinyurl") < 100:
#ekg.printf("generic","tiny__" + str(i) + ": " +
tiny_url(m.group(0)))
longurl = m.group(0)
if len(longurl) >= 95:
tinyurl = tiny_url(m.group(0))
soup = BeautifulSoup.BeautifulSoup(urllib.urlopen(longurl))
tmp = soup.title.string
text = text.replace(m.group(0),tinyurl + "\n" + tmp + "\n")
i = i + 1
return text

W przypadku braku biblioteki BeautifulSoup - pobra? z t?d
http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.2.0.tar.gz
i wypakowa? do folderu ze skryptem.
--
Pozdrawiam,
Micha?
Michał Malisz
2012-01-05 15:43:04 UTC
Permalink
Jednak jest to za bardzo zabugowane. P??niej si? pobawi?, ale jednak
lepiej zostawi? dla kogo?, kto si? na tym zna :P
--
Pozdrawiam,
Micha?
Marcin Rybak
2012-01-05 16:15:08 UTC
Permalink
ale przecie? to jest bezsensu, wystarczy ?e kto? Ci wy?le link do strony
kt?ra b?dzie "d?ugo odpowiada?" i masz zwieche... trzebaby dopisa? obs?ug?
timeouta i paru innych rzeczy, nie m?wi?c ju? o kodowaniu, ja wol? dostawa?
jednak skr?cony link + info o oryginale (coby unikn?? clickjackingu :) )
---
Marcin Rybak
http://marcinrybak.com


W dniu 5 stycznia 2012 16:43 u?ytkownik Micha? Malisz
Post by Michał Malisz
Jednak jest to za bardzo zabugowane. P??niej si? pobawi?, ale jednak
lepiej zostawi? dla kogo?, kto si? na tym zna :P
--
Pozdrawiam,
Micha?
-------------- nast?pna cz??? ---------
Za??cznik HTML zosta? usuni?ty...
URL: http://lists.ziew.org/pipermail/ekg-users/attachments/20120105/5d84bcf4/attachment-0001.html
fi9o
2012-01-05 18:11:38 UTC
Permalink
Dnia 05-01-2012 o 16:15:08 Marcin Rybak <marcin.rybak w gmail.com>
Post by Marcin Rybak
ale przecie? to jest bezsensu, wystarczy ?e kto? Ci wy?le link do strony
kt?ra b?dzie "d?ugo odpowiada?" i masz zwieche... trzebaby dopisa? obs?ug?
timeouta i paru innych rzeczy, nie m?wi?c ju? o kodowaniu, ja wol? dostawa?
jednak skr?cony link + info o oryginale (coby unikn?? clickjackingu :) )
---
Marcin Rybak
http://marcinrybak.com
W dniu 5 stycznia 2012 16:43 u?ytkownik Micha? Malisz
Post by Michał Malisz
Jednak jest to za bardzo zabugowane. P??niej si? pobawi?, ale jednak
lepiej zostawi? dla kogo?, kto si? na tym zna :P
--
Pozdrawiam,
Micha?
Mnie tam by sie tak przydalo ;p bo osobiscie wywalilem sobie pierwotny
link(czyt. dlugi)
Michał Malisz
2012-01-05 17:22:38 UTC
Permalink
Point taken ;-)
Akurat o tym nie pomy?la?em.
Post by Marcin Rybak
ale przecie? to jest bezsensu, wystarczy ?e kto? Ci wy?le link do strony
kt?ra b?dzie "d?ugo odpowiada?" i masz zwieche... trzebaby dopisa? obs?ug?
timeouta i paru innych rzeczy, nie m?wi?c ju? o kodowaniu, ja wol? dostawa?
jednak skr?cony link + info o oryginale (coby unikn?? clickjackingu :) )
---
Marcin Rybak
http://marcinrybak.com
W dniu 5 stycznia 2012 16:43 u?ytkownik Micha? Malisz
Post by Michał Malisz
Jednak jest to za bardzo zabugowane. P??niej si? pobawi?, ale jednak
lepiej zostawi? dla kogo?, kto si? na tym zna :P
--
Pozdrawiam,
Micha?
--
Wys?ane z mojego urz?dzenia przeno?nego

Pozdrawiam,
Micha?
fi9o
2012-02-20 13:29:00 UTC
Permalink
Dnia 2012-01-05, o godz. 18:22:38
Post by Michał Malisz
Point taken ;-)
Akurat o tym nie pomy?la?em.
Post by Marcin Rybak
ale przecie? to jest bezsensu, wystarczy ?e kto? Ci wy?le link do strony
kt?ra b?dzie "d?ugo odpowiada?" i masz zwieche... trzebaby dopisa? obs?ug?
timeouta i paru innych rzeczy, nie m?wi?c ju? o kodowaniu, ja wol? dostawa?
jednak skr?cony link + info o oryginale (coby unikn?? clickjackingu :) )
---
Marcin Rybak
http://marcinrybak.com
W dniu 5 stycznia 2012 16:43 u?ytkownik Micha? Malisz
Post by Michał Malisz
Jednak jest to za bardzo zabugowane. P??niej si? pobawi?, ale jednak
lepiej zostawi? dla kogo?, kto si? na tym zna :P
--
Pozdrawiam,
Micha?
Pozwole sobie wrocic do tego tematu poniewaz po rozmowie z kolega skrypt zostal troszke zmieniony i
teraz wyglada to tak, ze dostajemy url http://krotkilink.pl/0913kasd (stronaskrocona.pl) i info w
nawiasie dot. strony jest brane z linku przed skroceniem prostym regexem.
pythonowy ninja pewnie znajdzie jakies babole w kodzie, ale autor nie jest python ninja a co
wiecej, skrypt dziala jak nalezy i na razie nam wystarcza :P

zainteresowani niech sobie wrzuca i poprawia jesli jest cos nie tak ich zdaniem ;)

fi9o w palarnia ~ % wgetpaste .gg/scripts/autorun/tiny.py
Your paste can be seen here: http://paste.pocoo.org/show/553928/

Pozdrawiam, fi9o.

Michał Malisz
2012-01-06 08:07:40 UTC
Permalink
W dniu 5 stycznia 2012 16:43 u?ytkownik Micha? Malisz
Post by Michał Malisz
Jednak jest to za bardzo zabugowane. P??niej si? pobawi?, ale jednak
lepiej zostawi? dla kogo?, kto si? na tym zna :P
def add_tiny_url(text):
i = 1
for m in re.finditer(regulka, text):
if m.group(0).find("tinyurl") < 0:
longurl = m.group(0)
if len(longurl) <= 31:
text = text.replace(m.group(0),longurl + "\n")
else:
tinyurl = tiny_url(m.group(0))
text = text.replace(m.group(0),tinyurl + "\n\n" + longurl + "\n")

i = i + 1
return text

Ta wersja nie wywala ?adnych komunikat?w. Wersja bez tytu?u + d?ugi
link. Jak s?usznie zauwa?y? Marcin, za du?o roboty jest z tym, a
przynajmniej dla osoby, kt?ra nie zna pythona.
--
Pozdrawiam,
Micha?
Loading...