Commit Graph

95 Commits

Author SHA1 Message Date
oysteini 7bcb9275b3 Nye FAQ-spørsmål. 2010-06-04 21:00:58 +00:00
almelid 993ff0e012 litt flere quit-kommandoer 2010-05-18 19:25:01 +00:00
oysteini b1766d1448 Forkortet en linje som var for lang. 2010-05-16 20:50:37 +00:00
oysteini ca34981d6c FAQ. 2010-05-16 20:42:35 +00:00
oysteini 74888a0c1b Litt hjelpsom tekst om credit og justering av denne. 2010-05-16 19:34:12 +00:00
oysteini a0ac2bd633 Forsøkt å fikse hengeproblemet.
Jeg tror grunnen til at programmet henger iblant er at det finnes
flere åpne sesjoner, og at en annen sesjon har låst noe den aktive
sesjonen vil bruke.

De fleste menyene som ikke gjorde noen endringer lukket ikke sesjonen
sin, og selv de som gjorde endringer lukket sesjonen bare hvis de ble
fullført, ikke hvis de ble avbrutt.

Jeg har flyttet all åpning og lukking av sesjoner til funksjonen
Menu.execute, og lagt til egenskapen Menu.uses_db.  For menyer som har
denne egenskapen satt til True lages det en sesjon i begynnelsen av
execute, og den lukkes før execute returnerer (lukkingen er beskyttet
av en finally).

Tips for debugging av denne typen problemer (dersom de vedvarer):

SELECT * FROM pg_stat_activity;
SELECT * FROM pg_locks;
2010-05-16 18:43:41 +00:00
oysteini 945e6529f5 Fikset feil i Purchase.__repr__ (den refererte til ting som ikke finnes lenger). 2010-05-16 18:36:10 +00:00
oysteini af9e8893df Eksplisitt konvertering av input til unicode. 2010-05-16 14:15:36 +00:00
oysteini 64dcb9ecf5 Importerer readline. 2010-05-16 13:30:25 +00:00
oysteini 5dbf13ea68 Litt bedre formatering av y/n i confirm. 2010-05-16 13:13:58 +00:00
oysteini e162f415be Ny meny: UserListMenu. 2010-05-13 18:25:19 +00:00
oysteini 9199da6c13 Enda mer mystisk brukergrensesnitt.
Brukergrensesnittet er forsøkt forbedret.  Forandringene er basert på
observasjoner av reelle brukeres handlinger.

* Buy-menyen har fått litt ekstra magi for tilfellet der inputstrengen
  ikke gir noe treff i databasen.  Hvis strengen ser ut som et
  brukernavn (dvs finnes i /etc/passwd) eller kortnummer får man
  spørsmål om man vil lage brukeren.  For kortnummer får man også
  muligheten til å assosiere kortnummeret med en eksisterende bruker.

* AddUserMenu presiserer litt tydeligere hva det forventes at man skal
  skrive: at brukernavnet skal være PVV-brukernavn og at kortnummeret
  kan utelates.

* Menu.confirm er gjort case-insensitiv, så den godtar strengene 'y',
  'n', 'yes', 'no' i alle kombinasjoner av små og store bokstaver.
2010-05-13 18:11:31 +00:00
oysteini 5c9d73fbb4 Restart-kommando. 2010-05-12 17:42:48 +00:00
oysteini 302f5fb7fa Fanger TSTP-signalet (^Z) hvis konfigurasjonen ber om det. 2010-05-12 16:49:37 +00:00
oysteini 4cd817c70f text_based.py er markert som executable i svn (se svn pl text_based.py). 2010-05-11 20:18:15 +00:00
oysteini b5785d9a85 Ymse små forbedringer; fikset noen feil i Menu.input_str. 2010-05-11 20:12:32 +00:00
oysteini 2074bd237f BuyMenu spør om bekreftelse hvis man prøver å avbryte den etter å ha
lagt inn noe i kjøpet.
2010-05-11 19:34:15 +00:00
oysteini c2342397eb Reimplementert confirm som meny; mer tegnkodingshakking.
Har nå mulighet for default-valg i confirm (default-en vises med stor
bokstav, som i '(Y/n)', og velges hvis man skriver en tom linje), og
confirm leser input på samme måte som alt annet (via Menu.input_str).

Har laget en funksjon safe_str som prøver å gjøre om et vilkårlig
objekt til noe Python kan printe uten å bli sur.  Tok i bruk denne i
raw_input-kallet i Menu.input_str (det viser seg at raw_input blir
muggen hvis den får et unicode-objekt som inneholder ikke-ASCII-tegn).
2010-05-11 19:23:52 +00:00
oysteini 29220ebe3d Resetter context-variabelen i begynnelsen av Menu.execute.
Uten dette risikerer man å se informasjon fra forrige gang menyen var
åpen når man sier 'what'.  BuyMenu var rammet av dette problemet;
kanskje andre menyer også.
2010-05-11 18:12:44 +00:00
oysteini 109db03edb Fikset datatype for kolonnen PurchaseEntry.product_bar_code.
Glemte visst å endre denne da jeg endret Product.bar_code tidligere.
2010-05-11 18:02:45 +00:00
oysteini e073f45919 Case-insensitivt søk (håper jeg). 2010-05-11 16:51:36 +00:00
oysteini 189af78fd5 Mulighet for å avbryte produktredigering. 2010-05-11 16:45:32 +00:00
oysteini 105c625e1e Konfigurasjonsflagg for hvorvidt tracebacks skal vises.
Fjernet et str-kall som fikk Python til å krangle om tegnkoding.
2010-05-11 16:38:30 +00:00
oysteini 28d998f310 Rettet enda en fjollete feil jeg nettopp gjorde. 2010-05-11 16:17:48 +00:00
oysteini 924008fc27 Lagt til manglende import.
I forrige revisjon skrev jeg kode som bruker modulen sys, men glemte å
importere den.
2010-05-11 16:16:41 +00:00
oysteini 39e1d4ef08 Endret strekkodekolonnen til teksttype i databasen. 2010-05-11 15:30:13 +00:00
oysteini dcb249991b Konfigurasjonsfil; mulighet for å gjøre programmet uavsluttbart. 2010-05-11 15:04:40 +00:00
oysteini 102f6b91cc Script for å lage databasen. 2010-05-11 15:03:26 +00:00
almelid c94dcf91d7 fikset en regex 2010-05-11 12:26:30 +00:00
almelid 7ce51bb0ff ny, frisk database 2010-05-11 12:12:04 +00:00
oysteini 94e38d6f7e Hjelp. 2010-05-09 19:49:50 +00:00
oysteini daf5ae2294 Litt mer sjekking av inputdata.
Har dessuten fjernet litt ubrukt kode.
2010-05-09 18:24:05 +00:00
oysteini 32880031cf Begrensning av antall søkeresultater som vises. 2010-05-08 21:54:58 +00:00
oysteini 0b36fa75d1 Transaksjonslisten i ShowUserMenu begrenset til siste 20. 2010-05-08 21:35:30 +00:00
oysteini 90283a81b5 Små utseendemessige ting.
Transaksjonsbeløpene vises med 'in'/'out' istedenfor fortegn i
ShowUserMenu.
2010-05-08 21:18:40 +00:00
oysteini 2de1b2b019 Menyer for å legge til og redigere brukere og produkter. 2010-05-08 20:59:48 +00:00
almelid d35c3cabea Laget en meny for å legge til produkter. 2010-05-08 20:30:32 +00:00
almelid 09bf703a35 Ikke så mye nytt, kosmetiske endringer gjort på Charge. 2010-05-08 20:27:14 +00:00
oysteini b648c27473 Noenlunde fungerende opplegg for kjøp, ymse små forbedringer.
* Ny tabell Transaction som brukes for alle transaksjoner; hver
  transaksjon kan være knyttet til en Purchase eller ha en tekstlig
  beskrivelse.  (BuyMenu og TransferMenu viser de to måtene å bruke
  Transaction på)

* Hvert kjøp kan ha flere brukere.  Prisen fordeles likt blant
  kjøperne (for øyeblikket antar jeg at alle pengebeløp i databasen er
  lagret i kroner, og når totalprisen for et kjøp ikke går opp i
  antall kjøpere rundes det ned til et helt antall kroner)

* Forbedret input i BuyMenu -- den gjetter på om man skriver inn et
  produkt eller en bruker basert på hvor den finner treff.  (Hvis
  treffene er like gode begge steder velges det vilkårlig -- dette kan
  endres om det viser seg å være et problem i praksis)

* BuyMenu lagrer faktisk kjøpene i databasen.

* ShowUserMenu viser alle transaksjonene til brukeren.  Dette kan bli
  mye etter hvert, så det bør sikkert begrenses på et eller annet vis
  (for eksempel at den bare viser de siste N, for et egnet naturlig
  tall N).
2010-05-08 18:05:28 +00:00
almelid b9f5c39a76 endret litt på retrieve-user, tok i bruk nye hjelpefunksjoner 2010-05-08 10:29:03 +00:00
oysteini 9b222debf2 Lagt til diverse tant og fjas.
* Menu-klassen utvidet med kode for å vise menyen og velge ting fra
  den, samt litt mer generelle funksjoner for å lese input

* Ny klasse Selector for «små» menyer som bare er for å velge en verdi
  (disse skal ikke ha undermenyer)

* Nye menyer: ShowUserMenu, BuyMenu (foreløpig med kun innlesing av
  data, ikke lagring), ProductListMenu

* Forsøk på «intelligent» håndtering av input i BuyMenu (se
  funksjonene dwim_search og guess_data_type)

* La inn to tøyseprodukter i datafilen for å ha noen produkter å teste
  med
2010-05-08 00:23:21 +00:00
almelid f71ac4d348 bare tester 2010-05-07 22:10:22 +00:00
almelid cae7e001e3 morro 2010-05-07 17:33:49 +00:00
almelid c7c7498f19 jassaa 2010-05-07 17:32:39 +00:00
oysteini 95285be342 beskrivelse av prosjektet 2010-05-07 17:06:26 +00:00