Tor Browser, tj. fork webového prohlížeče Mozilla Firefox s integrovaným klientem sítě Tor přednastavený tak, aby přes tuto síť bezpečně komunikoval, byl vydán ve verzi 16.0. Postaven je na Firefoxu ESR 153. Vydána byla také nová verze 7.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. S Tor Browserem 16.0.
FreeTube, desktopový klient pro YouTube využívající lokální API, byl vydán ve verzi 0.26.0. Toto velké opravné vydání mj. vrací částečnou podporu živých přenosů nebo přepracovává zobrazování titulků a obecně nastavení videa v přehrávači – FreeTube umožňuje např. přehrávat video s větším zrychlením.
Další vlna kyberútoků zasáhla chladicí zařízení supermarketů v sedmi evropských zemích, Belgii, Lucembursku, Švédsku, Nizozemsku, Irsku, Estonsku a Finsku. Mrazáky se v některých prodejnách opět 'proměnily v trouby' a zahřály až na 50°C, což pochopitelně vedlo ke znehodnocení uskladněných potravin. Útoky navazují na podobný incident ve Francii z první poloviny října letošního roku, pachatel stále není znám.
Zranitelnost v aktualizačním mechanismu WordPress umožňuje útočníkovi zasáhnout do dočasného instalačního adresáře během aktualizace jádra systému. Před aktualizací veřejně dostupného WordPressu dočasně zablokovat HTTP přístup k wp-content/upgrade/, následně aktualizovat a zkontrolovat logy. Postižené verze: WordPress 4.7 až 7.1.3.
Alpine Linux zveřejnil podrobnosti o útoku na svůj GitLab a 30. října oznámil obnovení provozu. Útočník se 20.–21. října pokusil zneužít chybu v regulárních výrazech. Exploit způsobil opakované pády workerů a několikrát se dostal do pokročilé fáze. Úspěšné spuštění kódu však nebylo potvrzeno. Fix: Opravený GitLab a současně Ruby 3.3.13, 3.4.12 nebo 4.0.9+, pokud jde o vlastní sestavení či kontejner.
Konference OpenAlt 2026 proběhne tento víkend 7. a 8. listopadu na FIT VUT v Brně. Jedná se již o 21. ročník této konference, která propojuje otevřené technologie, svobodný software, hardware a lidi, kteří chtějí věci nejen používat, ale také jim rozumět a měnit je k lepšímu. Více o konferenci v příspěvku OpenAlt 2026: technologie, které dávají svobodu na blogu spolku OpenAlt.
Eben Upton oznámil další zdražení jednodeskových počítačů Raspberry Pi. Tentokrát 16 GB varianty Raspberry Pi o 80 dolarů a 16 GB varianty Raspberry Pi Compute Module 5 o 40 dolarů. Cena Raspberry Pi 500+ se nemění.
Francouzské Národní shromáždění přijalo 30. října 2026 poměrem 11 hlasů pro, 10 proti a 14 abstencí pozměňovací návrh I-1358 ke státnímu rozpočtu na rok 2027, který zavádí daň z objemu dat doručovaných uživatelům internetu. Návrh socialistického poslance Laurenta Lhardita stanovuje sazbu 0,055 eura za gigabajt, tedy 55 eur za terabajt. Zatím nejde o platný zákon, ale o dílčí hlasování během prvního čtení rozpočtu. Daň by měli platit
… více »
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: