pyWordpresXML-Importer #10 Rozmowa z wordpressem

Kolejny research/badania/testy zakonczone sukcesem.
Jedna malutka biblioteka “wordpress_xmlrpc” i publikowanie
postów z pythona staje się dziecinne proste.

import wordpress_xmlrpc as wp_rpc
import wordpress_xmlrpc.methods as wp_methods


class MyWp:
    def __init__(self):
        self.user = None
        self.password = None
        self.url = None
        self.post = wp_rpc.WordPressPost()

    def create_post(self, title, content):
        conn = wp_rpc.Client(self.url, self.user, self.password)
        self.post.title = title
        self.post.content = content
        self.post.post_status = 'publish'
        self.post.id = conn.call(wp_methods.posts.NewPost(self.post))
        return self.post.id


if __name__ == "__main__":
    wp = MyWp()
    wp.user = 'test'
    wp.password = 'test'
    wp.url = "http://wordpress/xmlrpc.php"

    new_title = "Bla bla"
    new_content = "Magic content :)"
    post_id = wp.create_post(new_title, new_content)
    print("Post id:" + post_id)

I nawet działa 🙂
C:\Python3\python.exe C:/Users/CLT/PycharmProjects/pyWordpresXML-Importer/pwx_wp.py
Post id:76984
Process finished with exit code 0

Post utworzony i opublikowany :]

Pełen sukces.
Teraz czas na nagrodę 😛

pyWordpresXML-Importer #09 Kolejny kroczek

Udało sie zrobić kolejny mały kroczek, czyli…
napisałem swoja pierwsza funkcje/metode rekurencyjna, która
ładnie wypisuje nam wszystkie występujące tagi z pliku XML

Nie pytajcie ile poszło czasu na research 😛

Tak jej na imię (i wydaję się, że nawet działa)
=> all_tags_from_parent() <=

A tu kawełek kodu z implemetancji:

class MyXml:

    def __init__(self):
        self.root = None
        self.file = None

    (...)   

    def get_children_tags(self, parent=''):
        children_set = set()
        for children in self.root.iter(parent):
            for child in children:
                children_set.add(child.tag)
        return children_set

    def all_tags_from_parent(self, parent=''):
        if len(self.get_children_tags(parent)) >= 1:
            for child in self.get_children_tags(parent):
                print(child)
                self.all_tags_from_parent(child)

   (...)

Zaczyna robić się coraz ciekawiej :)

Dobra... koniec smędzenia, czas wracać do dalszych badań...

Remote Play PS4 – Działa całkiem dobrze

Ostatnio dowiedziałem się, ze konsola PS4 potrafi udostępniać rozgrywke
na różne urządzenia, m.in. na PC.
Pomyślałem, że to fajna sprawa, ale odłożylem testy/konfigurację aż do dzisaj
( wszystko przez to, że ja chciałem oglądać film a moje dziecko pograć )

Konfiguracja była banalna:
Google, zapytanie o ps4 remote play
pierwszy link z góry “PS4 Remote Play Windows® PC / Mac – Playstation.net”
… już leci.

Instalacja 5 kliknieć

Konfiguracja tak samo szybka…
Podłaczamy pada, właczamy konsole PS4, logujemy sie do PSN-a i już 🙂

Jedyny problem na jaki natrafiłem, to to że Windows przełączył
odtwarzanie dzwięku na Pad-a i trzeba było recznię przełączyć to windowsie.

Podsumowująć, to bardzo pozytywnie zaskoczył mnie cały proces
instalacji i konfiguracji. Więc jeśli masz PS4 w domu i zdaża
Ci sie problęm dostępności TV do którego podlaczona jest konsola,
to takie rozwiązanie napewno spełni swoje zadanie.
Miłego grania… wracam do testowania 😛

pyWordpresXML-Importer #08 Katastrofa

No i stało się.
Prawdziwa programistyczna katastrofa.
Poświeciłem w tym tygodniu kilka godzin na napisanie pisanie kodu
mojej klasy obsługujacej XML-e, ale nic sensownego z tego nie wyszło.
Nie udało mi się uzyskać kodu, który by działał tak jakbym tego chciał
(wogóle python sie zbuntował i przestał słuchac moich poleceń)

Przeglądająć później swój kod, to juz sam nie wiem co miałem na myśli.

Nie ma nic do pokazania, więc nic wam dzisaj nie pokaże ( bo wstyd 😛 )

pyWordpresXML-Importer #06 Udało sie!!!

Taaak!
Udało się!
Napisałem swoja pierwszą klasę (w życiu) z ktorej utworzyłem obiekt i wywołałem na nim 2 metody.
(chyba tak to się wszystko nazywa i niczego nie pomyliłem ?)

Co prawda, meczyłem sie z 30 minut aby mi to zadziałało, bo zjadłem nawiasy
w momencie tworzenia nowego obiektu (to zapewne przez niedożywienie:P )
Zrobiłem:a = MyLogsA powinno być:
a = MyLogs()

No ale najważniejsze że, zadziałało -> utworzył się mój plik logu.
Co prawda nie “czuję” jeszcze za bardzo tych obiektów, ale to już chyba jakiś postęp 😛

Kilka linijek kodu a człowiek cieszy się jak małe dziecko 🙂

Jak relaksują się informatycy ?

Słyszałem kiedyś jak mówią, ze informatycy też ludzie 😛 i że też relaksu potrzebują 🙂
… ale do końca nie jestem pewny czy to prawda 😛

Do rzeczy… zamiast pić flaszkę z kolegą przez skype albo iść z kumplami
do baru, chciałem zaproponować inne rozwiązania, które w mojej ocenie są całkiem całkiem.
Jako ludzie z IT napewno lepiej ogarniamy technologię niż inni…
… to dlaczego z tego nie skorzystać ???

Jedną z opcji relaksu, jest znalezienie gry w której nie trzeba dużo myślec, w której nie ma
przemocy, generalnie jest “cisza i spokój” i takie tam podobne klimaty…
Moim faworytem jest tu No Man Sky, ale wydaję mi się, że każdy
powinien znaleźć coś odpowiedniego dla siebie (choć ta pozycja wydaję się być zaskajująco dobra do tego)

Inną formą, ktorą ja osobiście bardzo lubię (i polecam) są to wszelkiego rodzaju gry “ruchowe”.
Dla przykładu, przychodząć totalnie zmorodwany “psychicznie” z pracy (bez żadnych perspektyw
na zrobienie czegokolwiek sensownego w domu) odpalam taką gre i zaczynam skakać/wyginać się/itd.
Po 20-40 minutach takiej “zabawy” -> prysznic i potem człowiek jest jak “świeżo” narodzony 😛
(chyba, że przegiołeś to padasz na ryjek i idziesz spac 😛 )

Na koniec pozostaje polecić najbardziej hardcorową -> overflow exception
(najmniej preferowana przeze mnie)
Wyszukujemy jakieś krótkie szkolenie (ok 30-40min) na youtubie z tematyki, ktora wydaję się
nam trudna i najlepiej w obcym języku. Puszczamy stream-a na telewizor i rozkładamy się wygodanie.
Co się po tym dzieję proponuje przetestować na swojej własnej skórze 🙂
(pytanie czy ktoś bedzie miał takie same efekty jak ja)

To by było na tyle. Miłego relax-owania 😛

pyWordpresXML-Importer #05 Programowanie nocą

W środę pożnym wieczorem, doszedłem do wniosku, że już czas coś poprogramować.
Mimo, że dzień był wykańczający to z tyłu głowy zapaliła sie lampka “dam radę!”

A że mój projekt ma obsługiwać XML-e, to na decyzję czym się “pobawię” nie trzeba było za długo czekać.
Odpaliłem PyCharm-a i Dokumentacje bliblioteki xml-owej
Po chwili miałem plik xml-a example.xml i 3 liniki kodu. Nadszedł czas
aby kliknąć na magiczny zielony przycisk “run”
Click…
a tu SIC, jakiś głupi error!

No ale jak, przecież to blibloteka wbudowana, o co mu chodzi.
Zmieniam, wielkość liter, kombinuje z tym importem, zaczynam googlować……
…robie testy na konsoli, a tu to samo (pierwsza linijka importu a tu error)!!!

Szukam, kombinuje, googoluje, … stackoverflow, itp. itd.

Po godzinie “zabawy” znalazłem swój błąd. Mój plik nazywał się xml.py i
python próbował importować mój własny plik, który utworzyłem.

Tym pozytywnym akcetem, stwierdziłem ze #@%$$@#$%@#% to programowanie i idę spać.

Wniosek końowy:
Jeśli jesteś wykończony, to idź spać, do programowania trzeba mieć “sprawny” umysł!

pyWordpresXML-Importer #04 Schemat aplikacji

W ten weekend nastąpił czas zwątpienia…
(w sensie, czy wogóle uda mi się coś stworzyć i wytrwać do końca konkursu)
Kompletnie odechciało mi sie wszystkiego a wena poszła sobie gdzieś daleko.

Komputer mnie odstraszał…
No ale udało mi się zmuśić, żeby usiaść sobie w spokoju nad kartką A4 z długopisem.
No i … w wielkich bulach coś sie urodziło.
Niby takie banale a takie trudne…
No ale teraz widze przynajmniej jakieś światełko w tunelu.

pyWordpresXML-Importer #03 Hint od programisty

Moje posty sa krotkie, ale ten będzie mega krótki 😛

Chciałem tylko serdecznie podziekować czang-owi za wskazówki w moim projekcie
(m.in. aby nie zaczynać od projektowania okienek tylko skupić się na zbudowaniu “cora” aplikacji a GUI
zostawić sobie na koniec; analizując tego hinta, myśle… że to jest bardzo mądre podejście)
oraz za namiary na darmowy kurs pythona na udemy

A więc… dziękuję Ci czangu za “poprawienie” mojego kursu “okrętu” developera 🙂