Aby się przeklikać przez program na http://n.pl/ i jeszcze znaleźć interesujący program, to jest ponad moje siły.
Napisałem więc na szybko narzędzie działające w shellu, które pozwala przeglądać oraz przeszukiwać program ze strony n.pl https://github.com/onjin/ntv/.
......
Krótkie wprowadzenie jak uruchomić prosty serwer SOAP przy pomocy pakietu “Flask-Enterprise”. Do przetestowania połączenia do serwera użyjemy klienta z pakietu “suds”.
......
Kilku znajomych chciało zacząć używać vim’a. Ale konfigurowanie go na starcie, dobieranie pluginów, instalowanie ich, gdy się jeszcze nic nie wie tylko chce się spróbować zazwyczaj powodowało przełożenie tej próby na ‘kiedy indziej’.
Niedawno poznałem i zacząłem używać plugin manager’a https://github.com/gmarik/vundle i sam potrzebowałem szybko przenieść konfigurację na drugi komputer i na laptopa. Zazwyczaj używałem dropbox’a i podlinkowanego pliku .vimrc oraz całego katalogu .vim ze wszystkimi pluginami.
Jednak używając plugin managera, którego konfiguracja znajduje się w .vimrc pozwala teraz posługiwać się jedynie plikiem .vimrc. Zgodnie z programistyczną zasadą ‘jak masz coś zrobić więcej niż 2 razy, napisz program’ powstał mały skrypt + podstawowy .vimrc pozwalający szybko uruchomić vim’a skonfigurowanego pod programowanie w ciągu kilku minut.
https://github.com/onjin/vim-startup Jak na razie przydało się mi i kilku innym osobom :) . Plik .vimrc jest oczywiście przykładowy i jak już sobie poużywasz vim’a i zdecydujesz się go poznać lepiej wtedy po kolei skonfigurujesz go pod siebie.......
Przy okazji szukania API do grooveshark’aodkryłem plik currentSong.txt, który jest tworzony przez Grooveshark Desktop.
Kilka minut z vim’em i mamy skrypt napisany w python’ie, który odczytuje w/w plik i wrzuca informację o aktualnie odtwarzanym utworze jako status wybranego konta w gajim’a.
Skrypt umożliwia także uruchomienie go w trybie monitorowania w/w pliku (wymana pyinotify). Wtedy nasz status będzie zmieniany w chwili (chwilę potem :) ) zmiany utworu w Grooveshark Desktop.
Całość można dowolnie używać/modyfikować, a pobrać można z serwisu github.com:
https://github.com/onjin/grooveshark2gajim http://onjin.github.com/grooveshark2gajim/ Do działania wystarczy nam plik grov2gajim.py. Umieszczamy go gdzieś na dysku i możemy używać.......
W ostatnim wpisiepisałem o snippetsEmudla vim'a, a dziś załączam zestaw snippetów, których używam przy pracy z liquibase.Liquibase to całkiem miłe narzędzie napisane w Javie do śledzenia, zarządzania i wprowadzania zmian w bazach danych. Zmiany opisuje się w pliku (plikach) xml i wpisywanie oraz pamiętanie tej składni można sobie uprościć przy pomocy vim’a i snippetów.
Snippet umieszczamy razem z pozostałymi, najczęściej w .vim/after/ftplugin/.
Najprościej zacząć otwierając np. migration.xml, wpisując lhelpi wcisnąć TAB. Otrzymamy małą pomoc i możemy zaczynać wpisywać kolejną migrację :) xml_snippets.vim ......
Dziś robiłem porządki w ~/.vim/ . Aktualizacje do nowych wersji pluginów, wyrzucanie nieużywanych, porządki w ~/.vimrc. W trakcie tej pracy powstała lista pluginów, dzięki którym miło mi się pracuje
vimball Plugin zajmujący się pluginami dostarczanymi w paczkach .vba i pozwalający też takie paczki tworzyć, w praktyce potrzeby mi by instalować paczki .vba
http://www.vim.org/scripts/script.php?script_id=1502 snippetsEmu Emuluje zachowanie snippetów z TextMate. Na przykład w pliku sometest.py wpisujesz ‘for<tab>', uzupełniasz brakujące miejsca poruszając się klawiszem <tab> i otrzymujesz pełną pętle. Inne użyteczne snippety dla pythona to:
prop- property get- def get_.. set- def set_.. def- def .. cm- classmethod cl- class ifn, ifmain, sb, sbu, sbl1, trye, tryf, tryef, unittest Domyślnie dostarczone są 32 zestawy snippetów dla wielu języków programowania, opisu oraz frameworków (django, rails, symfony)
http://www.vim.org/scripts/script.php?script_id=1318 neocomplcache System tzw ‘dopełniania’ (podpowiadania) i to właśnie robi. Dopełnia nazwy metod, funkcji, atrybuty html, nazwy plików, itp. Trzeba po prostu zobaczyć i używać.
http://www.vim.org/scripts/script.php?script_id=2620 project Bardzo prosty i skuteczny system pozwalający w bocznym oknie przeglądać wybrane lub wszystkie pliki z jednego lub wielu projektów. Każdy projekt ma zdefiniowany katalog, dzięki czemu otwarcie pliku z projektu (wciskamy ‘enter’ bedąc ‘nad’ plikiem) nastąpi równocześnie z przejściem do katalogu projektu. W ten sposób pliki projektu jak np ‘tags’ (ctags) zostaną poprawnie wczytane.......
Załączam używany przeze mnie i sprawdzający się pre-commitdla git'a sprawdzający commitowane pliki .php.
Przy wykonaniu commit w repozytorium skrypt dla każdego commitowanego pliku ‘.php’ wykonuje ‘php -l’ w pętli, aż otrzyma odpowiedź, że składnia jest ok lub nie ok. Przypadku wystąpienia błędy przerywa commit. Sam skrypt napisany jest w python'ie
Dlaczego w pętli? Dlatego, że ‘php -l’ losowo się urywa zwracając SIGFAULTi należy wtedy powtórzyć próbę z ‘-l’
Plik do pobrania:
pre-commit ......
Ostatnio biegałem z lapkiem po centrum handlowym i łapałem wifi, żeby spojrzeć do dokumentacji django. I tylko się nabiegałem :).
Aby drugi raz pracować nie biegać w domu szybko podłączyłem dokumentację django do devhelpi tak na szybko procedura:
apt-get install devhelp mkdir -p ~/bin; cd ~/bin wget http://htmlhelp.googlecode.com/svn/trunk/misc/devhelp-install chmod +x devhelp-install cd ~/; wget http://onjin.net/files/django1.1-doc.tgz /bin/devhelp-install ./django1.1-doc.tgz Teraz wystarczy uruchomić devhelp’a i cieszyć się offline :)
django1.1-doc jest ściągnięte z .chmi potraktowana hhconvert.pydo formatu devhelp’a)......