mirror of
https://github.com/moparisthebest/wallabag
synced 2024-11-23 17:42:15 -05:00
Merge pull request #173 from EliasZ/dev
Graceful error-handling with imports and defining where import files are stored
This commit is contained in:
commit
217bacc663
@ -364,13 +364,14 @@ class Poche
|
|||||||
/**
|
/**
|
||||||
* import from Instapaper. poche needs a ./instapaper-export.html file
|
* import from Instapaper. poche needs a ./instapaper-export.html file
|
||||||
* @todo add the return value
|
* @todo add the return value
|
||||||
|
* @param string $targetFile the file used for importing
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
private function importFromInstapaper()
|
private function importFromInstapaper($targetFile)
|
||||||
{
|
{
|
||||||
# TODO gestion des articles favs
|
# TODO gestion des articles favs
|
||||||
$html = new simple_html_dom();
|
$html = new simple_html_dom();
|
||||||
$html->load_file('./instapaper-export.html');
|
$html->load_file($targetFile);
|
||||||
Tools::logm('starting import from instapaper');
|
Tools::logm('starting import from instapaper');
|
||||||
|
|
||||||
$read = 0;
|
$read = 0;
|
||||||
@ -403,13 +404,14 @@ class Poche
|
|||||||
/**
|
/**
|
||||||
* import from Pocket. poche needs a ./ril_export.html file
|
* import from Pocket. poche needs a ./ril_export.html file
|
||||||
* @todo add the return value
|
* @todo add the return value
|
||||||
|
* @param string $targetFile the file used for importing
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
private function importFromPocket()
|
private function importFromPocket($targetFile)
|
||||||
{
|
{
|
||||||
# TODO gestion des articles favs
|
# TODO gestion des articles favs
|
||||||
$html = new simple_html_dom();
|
$html = new simple_html_dom();
|
||||||
$html->load_file('./ril_export.html');
|
$html->load_file($targetFile);
|
||||||
Tools::logm('starting import from pocket');
|
Tools::logm('starting import from pocket');
|
||||||
|
|
||||||
$read = 0;
|
$read = 0;
|
||||||
@ -442,12 +444,13 @@ class Poche
|
|||||||
/**
|
/**
|
||||||
* import from Readability. poche needs a ./readability file
|
* import from Readability. poche needs a ./readability file
|
||||||
* @todo add the return value
|
* @todo add the return value
|
||||||
|
* @param string $targetFile the file used for importing
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
private function importFromReadability()
|
private function importFromReadability($targetFile)
|
||||||
{
|
{
|
||||||
# TODO gestion des articles lus / favs
|
# TODO gestion des articles lus / favs
|
||||||
$str_data = file_get_contents("./readability");
|
$str_data = file_get_contents($targetFile);
|
||||||
$data = json_decode($str_data,true);
|
$data = json_decode($str_data,true);
|
||||||
Tools::logm('starting import from Readability');
|
Tools::logm('starting import from Readability');
|
||||||
$count = 0;
|
$count = 0;
|
||||||
@ -499,15 +502,31 @@ class Poche
|
|||||||
*/
|
*/
|
||||||
public function import($from)
|
public function import($from)
|
||||||
{
|
{
|
||||||
if ($from == 'pocket') {
|
$providers = array(
|
||||||
return $this->importFromPocket();
|
'pocket' => 'importFromPocket',
|
||||||
|
'readability' => 'importFromReadability',
|
||||||
|
'instapaper' => 'importFromInstapaper'
|
||||||
|
);
|
||||||
|
|
||||||
|
if (! isset($providers[$from])) {
|
||||||
|
$this->messages->add('e', _('Unknown import provider.'));
|
||||||
|
Tools::redirect();
|
||||||
}
|
}
|
||||||
else if ($from == 'readability') {
|
|
||||||
return $this->importFromReadability();
|
$targetDefinition = 'IMPORT_' . strtoupper($from) . '_FILE';
|
||||||
|
$targetFile = constant($targetDefinition);
|
||||||
|
|
||||||
|
if (! defined($targetDefinition)) {
|
||||||
|
$this->messages->add('e', _('Incomplete inc/poche/define.inc.php file, please define "' . $targetDefinition . '".'));
|
||||||
|
Tools::redirect();
|
||||||
}
|
}
|
||||||
else if ($from == 'instapaper') {
|
|
||||||
return $this->importFromInstapaper();
|
if (! file_exists($targetFile)) {
|
||||||
|
$this->messages->add('e', _('Could not find required "' . $targetFile . '" import file.'));
|
||||||
|
Tools::redirect();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->$providers[$from]($targetFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -30,3 +30,7 @@ define ('LOCALE', __DIR__ . '/../../locale');
|
|||||||
define ('CACHE', __DIR__ . '/../../cache');
|
define ('CACHE', __DIR__ . '/../../cache');
|
||||||
define ('PAGINATION', '10');
|
define ('PAGINATION', '10');
|
||||||
define ('THEME', 'light');
|
define ('THEME', 'light');
|
||||||
|
|
||||||
|
define ('IMPORT_POCKET_FILE', './ril_export.html');
|
||||||
|
define ('IMPORT_READABILITY_FILE', './readability');
|
||||||
|
define ('IMPORT_INSTAPAPER_FILE', './instapaper-export.html');
|
@ -50,9 +50,9 @@
|
|||||||
<p>{% trans "Please execute the import script locally, it can take a very long time." %}</p>
|
<p>{% trans "Please execute the import script locally, it can take a very long time." %}</p>
|
||||||
<p>{% trans "More infos in the official doc:" %} <a href="http://inthepoche.com/?pages/Documentation">inthepoche.com</a></p>
|
<p>{% trans "More infos in the official doc:" %} <a href="http://inthepoche.com/?pages/Documentation">inthepoche.com</a></p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="./?import&from=pocket">{% trans "import from Pocket" %}</a> (you must have a "ril_export.html" file on your server)</li>
|
<li><a href="./?import&from=pocket">{% trans "import from Pocket" %}</a> (you must have a "{{ defined('IMPORT_POCKET_FILE') ? constant('IMPORT_POCKET_FILE') ? 'INCORRECT CONFIGURATION' }}" file on your server)</li>
|
||||||
<li><a href="./?import&from=readability">{% trans "import from Readability" %}</a> (you must have a "readability" file on your server)</li>
|
<li><a href="./?import&from=readability">{% trans "import from Readability" %}</a> (you must have a "{{ defined('IMPORT_READABILITY_FILE') ? constant('IMPORT_READABILITY_FILE') ? 'INCORRECT CONFIGURATION' }}" file on your server)</li>
|
||||||
<li><a href="./?import&from=instapaper">{% trans "import from Instapaper" %}</a> (you must have a "instapaper-export.html" file on your server)</li>
|
<li><a href="./?import&from=instapaper">{% trans "import from Instapaper" %}</a> (you must have a "{{ defined('IMPORT_INSTAPAPER_FILE') ? constant('IMPORT_INSTAPAPER_FILE') ? 'INCORRECT CONFIGURATION' }}" file on your server)</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2>{% trans "Export your poche datas" %}</h2>
|
<h2>{% trans "Export your poche datas" %}</h2>
|
||||||
|
Loading…
Reference in New Issue
Block a user