From b88f6b50921e84e890ec02517330d543c0a69dba Mon Sep 17 00:00:00 2001
From: betateilchen <>
Date: Sun, 27 Apr 2014 18:01:14 +0000
Subject: [PATCH] configdb - added function for handling binary files
git-svn-id: https://svn.fhem.de/fhem/trunk@5681 2b470e98-0d58-463d-a4d8-8e2adae1ed80
---
fhem/CHANGED | 1 +
fhem/FHEM/98_configdb.pm | 20 ++++++++++++++++++--
fhem/configDB.pm | 8 ++++++--
3 files changed, 25 insertions(+), 4 deletions(-)
diff --git a/fhem/CHANGED b/fhem/CHANGED
index fd15804fd..c36c3d30a 100644
--- a/fhem/CHANGED
+++ b/fhem/CHANGED
@@ -1,6 +1,7 @@
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
# Do not insert empty lines here, update check depends on it.
- SVN
+ - added: configDB functions for handling binary files
- feature: 02_RSS.pm: alpha channel for colors
- feature: JSONMETER: time depending tariffs added (activeTariff)
- updated: codemirror version 3.24
diff --git a/fhem/FHEM/98_configdb.pm b/fhem/FHEM/98_configdb.pm
index 2a3ccc2b0..f10b8a7e1 100644
--- a/fhem/FHEM/98_configdb.pm
+++ b/fhem/FHEM/98_configdb.pm
@@ -526,13 +526,21 @@ compare device: telnetPort in current version 0 (left) to version: 1 (right)
configdb fileimport <sourceFilename>
- Imports specified fhem file from from filesystem into database.
+ Imports specified text file from from filesystem into database.
Example:
configdb fileimport FHEM/99_myUtils.pm
+ configdb binfileimport <sourceFilename>
+ Imports specified binary file from from filesystem into database.
+ Example:
+
+ configdb binfileimport www/images/bla.png
+
+
+
configdb filelist
Show a list with all filenames stored in database.
@@ -836,13 +844,21 @@ compare device: telnetPort in current version 0 (left) to version: 1 (right)
configdb fileimport <quellDatei>
- Liest die angegbene Datei aus dem Dateisystem und schreibt den Inhalt in die Datenbank.
+ Liest die angegbene Textdatei aus dem Dateisystem und schreibt den Inhalt in die Datenbank.
Beispiel:
configdb fileimport FHEM/99_myUtils.pm
+ configdb binfileimport <quellDatei>
+ Liest die angegbene Binärdatei aus dem Dateisystem und schreibt den Inhalt in die Datenbank.
+ Beispiel:
+
+ configdb binfileimport www/images/bla.png
+
+
+
configdb filelist
Liefert eine Liste mit allen Namen der gespeicherten Dateien.
diff --git a/fhem/configDB.pm b/fhem/configDB.pm
index c03afd829..6cbbe544b 100644
--- a/fhem/configDB.pm
+++ b/fhem/configDB.pm
@@ -71,6 +71,8 @@
# 2014-04-26 - added migration to generic file handling
# fixed problem on migration of multiline DEFs
#
+# 2014-04-27 - added new functions for binfile handling
+#
##############################################################################
#
@@ -728,8 +730,8 @@ sub _cfgDB_Diff($$) {
##################################################
# functions used for file handling
#
-# delete file from database
+# find dbtable for file
sub _cfgDB_Filefind($) {
my ($filename) = @_;
my $fhem_dbh = _cfgDB_Connect;
@@ -745,6 +747,7 @@ sub _cfgDB_Filefind($) {
return $retfile;
}
+# delete file from database
sub _cfgDB_Filedelete($) {
my ($filename) = @_;
my $dbtable = _cfgDB_Filefind($filename);
@@ -798,7 +801,7 @@ sub _cfgDB_Fileexport($) {
return "$counter $sunit written from database into file $filename";
}
-# import file from filesystem into database
+# import text-file into database
sub _cfgDB_Fileimport($;$) {
my ($filename,$doDelete) = @_;
$doDelete = (defined($doDelete)) ? 1 : 0;
@@ -820,6 +823,7 @@ sub _cfgDB_Fileimport($;$) {
return "$counter lines written from file $filename to database";
}
+# import bin-file into database
sub _cfgDB_binFileimport($;$) {
my ($filename,$filesize,$doDelete) = @_;
$doDelete = (defined($doDelete)) ? 1 : 0;