Archiv nach Kategorien: Software

Shell, PHP: Aktiendaten per Cronjob in Datenbank sichern

Zum grundlegenden Problem: Über die Yahoo Finance API sollen automatisiert Aktien-/Währungskurse geholt und in einer MySQL-Datenbank gesichert werden.

Umgesetzt wurde das Ganze mit einem Raspberry Pi. Der Aufruf des PHP-Script erfolgt mittels Cronjob.

Die Daten selbst werden mit einem PHP-Script geholt, aufbereitet und dann in die MySQL-Datenbank übertragen. Die Erstellung der MySQL-Datenbank spare ich hier aus.

Zunächst das PHP-Script (stocks.php):

#!usr/bin/php
<?php
/*
Es werden Daten aus der Yahoo Finance API geholt,
aufbereitet und in eine MySQL-Datenbank übertragen.

@version    1.0 21/02/2017
*/

// Variablen definieren
$url = “;            // URL zu Yahoo Finance
$daten = array();        // Daten aus der CSV-Datei

// Datenbankverbindung herstellen
$db_host = ‚localhost‘;
$db_user = ‚user‘;
$db_password = ‚pwd‘;
$db_name = ‚aktiendaten‘;

$db = new mysqli($db_host, $db_user, $db_password, $db_name);

if ($db->connect_error){
die(„Auf Datenbank kann nicht zugegriffen werden: “ . $db->connect_error);
}

// Daten bei Yahoo Finance holen
$url=’http://download.finance.yahoo.com/d/quotes.csv?s=BAS.DE,GBPEUR=X,USDEUR=X&f=snl1de7jke8rc4&e=.csv‘;

// Daten in das Array $daten packen;
$daten = file($url);

foreach($daten as $num => $zeile) {

// Whitespeaces und andere Zeichen entfernen
$zeile = trim($zeile);

// N/A durch 0 ersetzen
$zeile = str_replace(„N/A“, 0, $zeile);

// Array aus String erzeugen
$csv = str_getcsv($zeile, „,“);

// Daten zuweisen
$Kuerzel = $csv[0];
$Bezeichnung = $csv[1];
$Kurs = $csv[2];
$Div_Prognose = $csv[3];
$EPS = $csv[4];
$Low = $csv[5];
$High = $csv[6];
$EPS_NextY = $csv[7];
$KGV = $csv[8];
$Waehrung = $csv[9];

// SQL-Statement
$sql = „INSERT INTO Daten(Kuerzel, Bezeichnung, Kurs, Div_Prognose, EPS, Low, High, EPS_NextY, KGV, Waehrung) VALUES (‚“.$Kuerzel.“‚, ‚“.$Bezeichnung.“‚, $Kurs, $Div_Prognose, $EPS, $Low, $High, $EPS_NextY, $KGV, ‚“.$Waehrung.“‚)“;
//    echo „SQL $num: „.$sql.“\n“;

// Daten schreiben
if(!$result = $db->query($sql)){
die(„Fehler beim Schreiben der Daten in die Datenbank: „.$db->error.“\n“);
};

}

// Datenbankverbindung beenden
$db->close();

?>

Das PHP-Script (stocks.php) wurde mittels

chmod +x stocks.php

ausführbar gemacht.

Die Benutzer Crontab wurde angepasst:

45 23 * * 1-5 /usr/bin/php /home/pi/aktien/stocks.php >> /home/pi/aktien/cron.log 2>&1

Das PHP-Scrit wird täglich von Montag bis Freitag um 23:45 Uhr ausgeführt. Rückmeldungen werden in der Datei /home/pi/aktien/cron.log protokolliert.

LibreOffice: Die Dokumentdatei „datei.odt“ ist zum Bearbeiten gesperrt

Versucht man in LibreOffice eine Datei zu öffnen, kann es zu folgender Fehlermeldung kommen:

Die Dokumentdatei „abc.odt“ ist zum Bearbeiten gesperrt durch:

Unbekannter Anwender

Öffnen sie das Dokument schreibgeschützt oder erstellen sie eine Arbeitskopie.

Leider hilft es nicht weiter, eine Arbeitskopie zu öffnen und damit die vorhandene Datei zu überschreiben. Beim nächsten Versuch, die Datei zu öffnen, erscheint erneut die obige Meldung.

Die Lösung des Problems ist recht einfach: LibreOffice hat die Dateien gesperrt, so dass man diese erst wieder entsperren muss.

Dazu geht man in den entsprechenden Dokumentenordner und lässt sich dort die versteckten Dateien anzeigen.

In diesem Fall sollte eine .~lock.abc.odt vorhanden sein. Nachdem diese gelöscht wurde, kann die abc.odt wieder normal zum Bearbeiten geöffnet werden.

Firefox zeigt leere Seite nach Klick auf Link in Thunderbird

Wenn nach einem Klick auf einen Link innerhalb einer E-Mail in Thunderbird eine leere Seite in Firefox angezeigt wird, dann kann dies möglicherweise folgendermaßen behoben werden:

Thunderbird – Einstellungen – Erweitert – Konfiguration bearbeiten:

network.protocol-handler.warn-external.https
network.protocol-handler.warn-external.http

beides auf true setzen.

Veraltete LibreOffice-Version entfernen

Wenn man nach den Installationsvorgaben von de.libreoffice.org vorgegangen ist, kann eine alte Version von LibreOffice z.B. in der Synaptic-Paketverwaltung einfach entfernen, indem man nach dem Paket

libreoffice[Version]-ure

sucht und dieses zum Entfernen markiert.

 

WordPress: Anzahl der Spalten im Dashboard festlegen

Um die Anzahl der Spalten im Dashoard von WordPress festzulegen, reicht es den folgenden Code in die functions.php des jeweiligen Themes einzufügen:

// Anzahl der Spalten im Dashboard

function shapeSpace_screen_layout_columns($columns) {
$columns[‚dashboard‘] = 3;
return $columns;
}
add_filter(’screen_layout_columns‘, ’shapeSpace_screen_layout_columns‘);

function shapeSpace_screen_layout_dashboard() { return 3; }
add_filter(‚get_user_option_screen_layout_dashboard‘, ’shapeSpace_screen_layout_dashboard‘);

Steuersparerklärung 2014 unter Debian Wheezy

Auch dieses Jahr stellt sich wieder die spannende Frage, ob die Steuersoftware unter Linux läuft.

Hierzu habe ich mir die Steuersparerklärung 2014 heruntergeladen. Die Software gibt es auch als Testversion, so dass man vorab testen kann, ob sie überhaupt auf dem Computer lauffähig ist.

Mittels wine (Version: 1.4.1 unter Debian Wheezy 7.3) habe ich die Installation (USB-Installation) durchgeführt. Hierbei erscheinen die ein oder anderen Fehlermeldungen, die jedoch ignoriert werden können.

Letztendlich lief die Software einwandfrei (auch noch nach Eingabe des Freischaltcodes).

Details zur Installation finden sich u.a. auch hier: WineHQ Steuer-Spar-Erklärung 2014

Shotwell: Tags löschen

Da importiert man sich mal eben schnell einige Bilder in Shotwell und muss dann feststellen, dass hiervon etliche mit Tags versehen waren.

Wenn bislang für die bereits importierten Bilder keine Tags vergeben waren, gibt es einen einfachen Weg, alle Tags auf einen Schlag zu löschen:

Zunächst sollte man folgende Pakete installieren:

apt-get install sqlite3 sqlitebrowser

Hiernach kann vom Terminal aus der sqlitebrowser gestartet werden. Mit diesem öffnet man die SQL-Datenbank von Shotwell.

Zu finden ist diese normalerweise unter /home/benutzer/.shotwell/data/photo.db

In dieser Datenbank gibt es eine Tabelle namens TagTable. Hier sind alle in Shotwell erfassten und vergebenen Tags hinterlegt.

Man kann diese Tags manuell löschen oder mittels

DELETE FROM TagTable

sämtliche Tags auf einen Schlag löschen.

Firefox: Suchmaschine für Adressleiste ändern

Über die Eingabe von about:config in der Adressleiste in die Konfiguration wechseln. Dort nach keyword.URL suchen. Dann Rechtsklick darauf und „Bearbeiten“ auswählen.

Um z.B. startpage.com aus Suchmaschine zu verwenden einfach „https://startpage.com/do/metasearch.pl?cat=web&language=german&pl=ff&query=“ eintragen.

Ab jetzt wird startpage.com verwendet, wenn man in der Adressleiste einen Suchbegriff eingibt.

Debian Wheezy und Wacom Bamboo Pen

Vor kurzem habe ich das Upgrade von Squeeze auf Wheezy vollzogen. Heute war der Zeitpunkt gekommen, an welchem ich mein Wacom Bamboo Pen benötigt habe. Innerlich habe ich mich bereits darauf vorbereitet, dass ich zunächst Vorarbeit leisten muss, ehe ich es in Betrieb nehmen kann.

Und was soll ich sagen: Das Wacom Bamboo Pen eingesteckt und ich konnte direkt los legen!

Es waren keinerlei Vorbereitungen notwendig – das Wacom Bamboo Pen läuft unter Debian Wheezy out of the box!

Grandios!

Nvidia-Treiber installieren

http://wiki.debian.org/NvidiaGraphicsDrivers/#Use_DKMS