VirtualBox, tj. multiplatformní virtualizační software, byl vydán v nové verzi 7.2. Přehled novinek v Changelogu. Vypíchnou lze vylepšené GUI.
Eric Migicovsky, zakladatel společnosti Pebble, v lednu oznámil, že má v plánu spustit výrobu nových hodinek Pebble s již open source PebbleOS. V březnu spustil předprodej hodinek Pebble Time 2 (tenkrát ještě pod názvem Core Time 2) za 225 dolarů s dodáním v prosinci. Včera představil jejich konečný vzhled (YouTube).
Byla oznámena nativní podpora protokolu ACME (Automated Certificate Management Environment) ve webovém serveru a reverzní proxy NGINX. Modul nginx-acme je zatím v preview verzi.
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Společnost Perplexity AI působící v oblasti umělé inteligence (AI) podala nevyžádanou nabídku na převzetí webového prohlížeče Chrome internetové firmy Google za 34,5 miliardy dolarů (zhruba 723 miliard Kč). Informovala o tom včera agentura Reuters. Upozornila, že výše nabídky výrazně převyšuje hodnotu firmy Perplexity. Společnost Google se podle ní k nabídce zatím nevyjádřila.
Intel vydal 34 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20250812 mikrokódů pro své procesory řešící 6 bezpečnostních chyb.
Byla vydána nová verze 1.25 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
Byla vydána beta verze Linux Mintu 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.
Provozovatel internetové encyklopedie Wikipedie prohrál v Británii soudní spor týkající se některých částí nového zákona o on-line bezpečnosti. Soud ale varoval britského regulátora Ofcom i odpovědné ministerstvo před zaváděním přílišných omezení. Legislativa zpřísňuje požadavky na on-line platformy, ale zároveň čelí kritice za možné omezování svobody slova. Společnost Wikimedia Foundation, která je zodpovědná za fungování
… více »Byla vydána verze 2.0.0 nástroje pro synchronizaci dat mezi vícero počítači bez centrálního serveru Syncthing (Wikipedie). Přehled novinek na GitHubu.
Traceback (most recent call last):
File "trhy.py", line 163, in module
text = nazev_krivky+'\n'+str(krivky[index_krivek][0]),#prvni zaznam z kazde krivky
TypeError: 'Decimal' object does not support indexing
Traceback (most recent call last):
File "trhy.py", line 133, in module
text=str(datumy[0]),
TypeError: 'datetime.datetime' object is unsubscriptable
Traceback (most recent call last):
File "trhy.py", line 163, in module
text = nazev_krivky+'\n'+str(krivky[index_krivek][0]),#prvni zaznam z kazde krivky
TypeError: 'float' object is unsubscriptable
Podle typu konkretni promenne dostavam chybova hlaseni ze promenne nelze indexovat. Rozumim tomu tak ze data nactena z MySQL si zachovaji typ sloupce a navic promenna z nich vytvorena neni takovym seznamem jako muj puvodni vytvareny rucne primo ve skriptu. Ta data z MySQL by snad mela jit nejak pretypovat?
...
spojeni_db = mysql.connect('localhost', 'uzivatel', 'heslo', 'moje_db')
# prepare a cursor object using cursor() method
ukazatel_db = spojeni_db.cursor()
# Prepare SQL query.
dotaz = "SELECT * FROM trhy WHERE YEAR(datum)=2012 ORDER BY datum ASC" #\
# WHERE INCOME > '%d'" % (1000)
try:
# Execute the SQL command
ukazatel_db.execute(dotaz)
# Fetch all the rows in a list of lists.
vysledek = ukazatel_db.fetchall()
nazev_pole = ukazatel_db.description
print "%s %s %s %s %s %s %s %s %s" % \
(nazev_pole[0][0], nazev_pole[1][0], nazev_pole[2][0], nazev_pole[3][0], nazev_pole[4][0], nazev_pole[5][0], nazev_pole[6][0], nazev_pole[7][0], nazev_pole[8][0])
for zaznam in vysledek:
datumy = zaznam[0]
eur_usd = zaznam[1]
usd_jpy = zaznam[2]
gbp_usd = zaznam[3]
usd_chf = zaznam[4]
gold = zaznam[5]
sp500 = zaznam[6]
tbonds_30y = zaznam[7]
oil_brent = zaznam[8]
#print type(gold)
# Now print fetched result
#print "%s %s %s %s %s %s %s %s %s" % \
# (datumy, eur_usd, usd_jpy, gbp_usd, usd_chf, gold, sp500, tbonds_30y, oil_brent)
#print "%s" % (gold)
except:
print "Error: unable to fetch data"
# disconnect from server
spojeni_db.close()
#+++ DATA PRO KRIVKY +++
#++++++++++++++++++++++++++++++++++++++++++++++++++++
oil_brent = [107.38, 111.31, 111.63, 113.69, 113.41, 110.58, 111.09, 111.49, 111.04, 111.05, 112.16, 111.84, ]
t_bonds_30y = [7.01, 7.02, 6.97, 6.94, 6.98, 6.87, 6.9, 6.9, 7, 7.05, 6.99, 7.01, ]
sp500 = [1257.6, 1278.34, 1277.06, 1277.3, 1281.06, 1321.2, 1318.45, 1314.94, 1313.01, 1312.41, 1328.04, 1324.09, ]
gold = [1730.00, 1730.00, 1730.00, 1730.00, 1730.00, 1730.00, 1717.20, 1722.90, 1726.00, 1742.50, 1746.70, 1747.80, ]
usd_chf = [1.0634, 1.0739, 1.0647, 1.0534, 1.0513, 1.0845, 1.0861, 1.0951, 1.0896, 1.0867, 1.0957, 1.0912, ]
gbp_usd = [1.5471, 1.5658, 1.5606, 1.5519, 1.5501, 1.5638, 1.5689, 1.5721, 1.5704, 1.5762, 1.585, 1.5836, ]
usd_jpy = [0.0130, 0.0130, 0.0130, 0.0130, 0.0130, 0.0129, 0.0129, 0.0130, 0.0131, 0.0131, 0.0131, 0.0131, ]
eur_usd = [1.2922, 1.307, 1.2984, 1.2839, 1.2804, 1.3095, 1.3104, 1.3213, 1.3136, 1.3083, 1.3196, 1.3159, ]
datumy = ['2012 - January - 02', '2012 - January - 03', '2012 - January - 04', '2012 - January - 05', '2012 - January - 06', '2012 - January - 25', '2012 - January - 26', '2012 - January - 27', '2012 - January - 30', '2012 - January - 31', '2012 - February - 01', '2012 - February - 02', ]
#seznam "krivky" nesmi mit vyssi pocet prvku nez je jednotlivych krivek!
krivky=[eur_usd, usd_jpy, gbp_usd, usd_chf, gold, t_bonds_30y, sp500, oil_brent,]
...
Řešení dotazu:
Traceback (most recent call last):
File "trhy.py", line 284, in module
osa_y_popisky = procentni_zmena_popisky_oproti_zacatku * krok_na_ose_y
TypeError: unsupported operand type(s) for *: 'Decimal' and 'float'
Prepsany kod:
dotaz = "SELECT * FROM trhy WHERE YEAR(datum)=2012 ORDER BY datum ASC" #\
# WHERE INCOME > '%d'" % (1000)
try:
# Execute the SQL command
ukazatel_db.execute(dotaz)
# Fetch all the rows in a list of lists.
vysledek = ukazatel_db.fetchall()
nazev_pole = ukazatel_db.description
print "%s %s %s %s %s %s %s %s %s" % \
(nazev_pole[0][0], nazev_pole[1][0], nazev_pole[2][0], nazev_pole[3][0], nazev_pole[4][0], nazev_pole[5][0], nazev_pole[6][0], nazev_pole[7][0], nazev_pole[8][0])
datumy = []
eur_usd = []
usd_jpy = []
gbp_usd = []
usd_chf = []
gold = []
sp500 = []
tbonds_30y = []
oil_brent = []
for zaznam in vysledek:
datumy.append(zaznam[0])
eur_usd.append(zaznam[1])
usd_jpy.append(zaznam[2])
gbp_usd.append(zaznam[3])
usd_chf.append(zaznam[4])
gold.append(zaznam[5])
sp500.append(zaznam[6])
tbonds_30y.append(zaznam[7])
oil_brent.append(zaznam[8])
#datumy = zaznam[0]
#eur_usd = zaznam[1]
#usd_jpy = zaznam[2]
#gbp_usd = zaznam[3]
#usd_chf = zaznam[4]
#gold = zaznam[5]
#sp500 = zaznam[6]
#tbonds_30y = zaznam[7]
#oil_brent = zaznam[8]
#print type(gold)
# Now print fetched result
#print "%s %s %s %s %s %s %s %s %s" % \
# (datumy, eur_usd, usd_jpy, gbp_usd, usd_chf, gold, sp500, tbonds_30y, oil_brent)
#print "%s" % (gold)
print type(oil_brent)
print "%s %s" % (datumy[0], datumy[1])
except:
print "Error: unable to fetch data"
# disconnect from server
spojeni_db.close()
#+++ DATA PRO KRIVKY - TADY NESMI BYT NIKDE NULA! +++
#++++++++++++++++++++++++++++++++++++++++++++++++++++
oil_brent = [107.38, 111.31, 111.63, 113.69, 113.41, 110.58, 111.09, 111.49, 111.04, 111.05, 112.16, 111.84, ]
t_bonds_30y = [7.01, 7.02, 6.97, 6.94, 6.98, 6.87, 6.9, 6.9, 7, 7.05, 6.99, 7.01, ]
sp500 = [1257.6, 1278.34, 1277.06, 1277.3, 1281.06, 1321.2, 1318.45, 1314.94, 1313.01, 1312.41, 1328.04, 1324.09, ]
gold = [1730.00, 1730.00, 1730.00, 1730.00, 1730.00, 1730.00, 1717.20, 1722.90, 1726.00, 1742.50, 1746.70, 1747.80, ]
usd_chf = [1.0634, 1.0739, 1.0647, 1.0534, 1.0513, 1.0845, 1.0861, 1.0951, 1.0896, 1.0867, 1.0957, 1.0912, ]
gbp_usd = [1.5471, 1.5658, 1.5606, 1.5519, 1.5501, 1.5638, 1.5689, 1.5721, 1.5704, 1.5762, 1.585, 1.5836, ]
usd_jpy = [0.0130, 0.0130, 0.0130, 0.0130, 0.0130, 0.0129, 0.0129, 0.0130, 0.0131, 0.0131, 0.0131, 0.0131, ]
eur_usd = [1.2922, 1.307, 1.2984, 1.2839, 1.2804, 1.3095, 1.3104, 1.3213, 1.3136, 1.3083, 1.3196, 1.3159, ]
datumy = ['2012 - January - 02', '2012 - January - 03', '2012 - January - 04', '2012 - January - 05', '2012 - January - 06', '2012 - January - 25', '2012 - January - 26', '2012 - January - 27', '2012 - January - 30', '2012 - January - 31', '2012 - February - 01', '2012 - February - 02', ]
#seznam "krivky" nesmi mit vyssi pocet prvku nez je jednotlivych krivek!
krivky=[eur_usd, usd_jpy, gbp_usd, usd_chf, gold, t_bonds_30y, sp500, oil_brent,]
c = db.cursor() c.execute("select * from spam where ham=42") result = dict(zip([i[0] for i in c.description], zip(* c.fetchall() )))Vysledek je slovnik takze krome jineho se to nerozsype kdyz pridas dalsi sloupec. try blok si doplnis za domaci ukol, jinak je to afaik ekvivalentni te tvoji hruze (bez urazky, lidi kteri kombinuji select * s hardcodovanymi indexy by se meli veset za nos na semafor, casem pochopis sam). Saskovani s prevodem typu mysql sloupcu na pythoni objekty ridi slovnik MySQLdb.converters.conversions, predanim upraveneho konvertoru do konstruktoru spojeni muzes aplikovat Decimaly i na floaty nebo se jich naopak uplne zbavit. Jeste predtim bych ti ale VELMI doporucil prostudovat v dokumentaci MySQL i pythonu co to vlastne decimalni typ je a jestli to vubec potrebujes. Financni aplikace ktere neumi ani spravne secitat desetniky jsou dost tragicky zpusob humoru.
Tiskni
Sdílej: