Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Python ja Evernote

Väpä [19.03.2013 17:06:42]

#

Hei!

Olen väkertelemässä Evernoteen pienoisohjelmaa Windowsille, siis widgettiä (vai gadgettia). Eli Windowsin sivupalkkiin. Ohjelman tarkoituksena on näyttää muistiinpanot ja sallia niiden muokkaaminen yms.

Pienoisohjelmat tehdään pääosin HTML-pohjaisesti, ja se ei ole mikään ongelma. Teen Pythonilla exe tiedoston joka hoitaa muistiinpanojen haun Evernoten palvelimilta.

Ongelma onkin, että kun teen koodia joka tarkistaa Evernoten palvelimilta milloin muistiinpanot on päivitetty (tarvitseeko synkronoida) seuraavalla koodilla:

noteStore = client.get_note_store()
updated = noteStore.getSyncState()
print updated

Tämä tulostaa seuraavan koodin:

SyncState(uploaded=30733, fullSyncBefore=1363537754000L, updateCount=14, currentTime=1363704689357L)

Eli erinäisiä tietoja milloin muistiinpanoja on viimeksi muokattu.

Ja kysymys kuuluu, mikä ihmeen koodi tuo yllä oleva on? :D Siis onko kyseessä jonkin sortin lista? Mielestäni ei? Haluaisin saada jatkokäsittelyyn tuon updatCount "muuttujan" arvon, se kertoo montako kertaa tiliä on päivitetty. Mutta en saa millään ilveellä tuosta tulostetusta koodipätkästä tuota yhtä arvoa tällättyä muuttujaan? Onko tähän jotain simppeliä keinoa, vai pitääkö rueta jotain "split" purkkaviritystä käyttämään? Pari päivää olen päätäni raapinut eikä meinaa tulla mitään :/

Eli kysymyshän ei sinänsä koske Evernotea vaan pelkkää Pythonia..

Lisäys:

Ja lisätään vielä että näinhän homma hoituu esimerkin mukaan Javalla mutta ei ole esimerkkejä Pythonille:

SyncState currentState = noteStore.getSyncState();
int currentUpdateCount = currentState.getUpdateCount();

Metabolix [19.03.2013 18:39:42]

#

En ihan ymmärrä, missä mielestäsi on ongelma. Kai kuka tahansa näkee, että Java-koodissa on getUpdateCount-kutsu, jollaista Python-koodissasi ei vielä ole. Oletko edes yrittänyt lukea SyncState-olion updateCount-jäsentä tai kutsua getUpdateCount-metodia?

Olion tulostamisella ei ole mitään tekemistä sen kanssa, mitä arvoja se sisältää tai miten ne arvot saa luettua.

class Luokka:
	def __init__(self):
		self.x = 10
	def __str__(self):
		return "foo(bar='baz')"

l = Luokka()
print(l)   # foo(bar='baz')
print(l.x) # 10

Väpä [24.03.2013 16:02:02]

#

Nonniiiiiiin!

Eli kyseessä on siis olio, kun en ole ennen tällaisia käyttänyt niin en edes tiennyt mikä tuo on enkä löytänyt sitten mistään (vaikka vähän tyhmältä kuulostaakin)..
Ja tuo getUpdateCount-metodi ei suostunut toimimaan, en sitten tiedä enkö vain osannut vai missä lie vika?

Mutta homma onnistui ihan suoraan tuolla esimerkilläsi:

updated = noteStore.getSyncState()
count = (updated.updateCount)
print count   # 24

En ole ihan varma onko tuo ihan oppikirjojen mukainen tapa laittaa nuo sulut yms. mutta ainakin nuin tuo toimi. Kiitos siis avusta! :)

Ripe [24.03.2013 16:57:32]

#

Väpä kirjoitti:

En ole ihan varma onko tuo ihan oppikirjojen mukainen tapa laittaa nuo sulut yms. mutta ainakin nuin tuo toimi.

Noita sulkuja ei tarvitse laittaa ollenkaan, toimii ilmankin.

Metabolix [24.03.2013 17:42:44]

#

Koodissani käytetään sulkuja siksi, että Python 3:ssa print on funktio ja vaatii sulut. Suluilla ei siis ole siinä mitään tekemistä olioiden tai muuttujien kanssa.

samip [24.03.2013 18:27:15]

#

Väpä kirjoitti:

count = (updated.updateCount)

nämä sulut ovat turhat

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta