git.cweiske.de
/
bdrem.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add option to specify config file
[bdrem.git]
/
src
/
bdrem
/
UserInterface.php
diff --git
a/src/bdrem/UserInterface.php
b/src/bdrem/UserInterface.php
index c5e29b765ad4b73691c4f86bd70d0b7a95e1f34c..2827415ca6c146f70a1348d21d8015fb32bdf2d8 100644
(file)
--- a/
src/bdrem/UserInterface.php
+++ b/
src/bdrem/UserInterface.php
@@
-9,13
+9,10
@@
abstract class UserInterface
{
try {
$this->config = new Config();
{
try {
$this->config = new Config();
- $this->config->load();
- setlocale(LC_TIME, $this->config->locale);
-
$parser = $this->loadParameters();
$res = $this->parseParameters($parser);
$parser = $this->loadParameters();
$res = $this->parseParameters($parser);
- $this->handleCommands($res);
+ $this->config->load();
if (!$this->config->cfgFileExists) {
throw new \Exception(
"No config file found. Looked at the following places:\n"
if (!$this->config->cfgFileExists) {
throw new \Exception(
"No config file found. Looked at the following places:\n"
@@
-23,6
+20,9
@@
abstract class UserInterface
);
}
);
}
+ setlocale(LC_TIME, $this->config->locale);
+ $this->handleCommands($res);
+
$source = $this->config->loadSource();
$arEvents = $source->getEvents(
$this->config->date,
$source = $this->config->loadSource();
$arEvents = $source->getEvents(
$this->config->date,
@@
-51,7
+51,7
@@
abstract class UserInterface
'description' => 'Show NUM days after date',
'help_name' => 'NUM',
'action' => 'StoreInt',
'description' => 'Show NUM days after date',
'help_name' => 'NUM',
'action' => 'StoreInt',
- 'default' =>
$this->config->daysNext
,
+ 'default' =>
null
,
)
);
$parser->addOption(
)
);
$parser->addOption(
@@
-62,7
+62,7
@@
abstract class UserInterface
'description' => 'Show NUM days before date',
'help_name' => 'NUM',
'action' => 'StoreInt',
'description' => 'Show NUM days before date',
'help_name' => 'NUM',
'action' => 'StoreInt',
- 'default' =>
$this->config->daysPrev
,
+ 'default' =>
null
,
)
);
$parser->addOption(
)
);
$parser->addOption(
@@
-101,6
+101,17
@@
abstract class UserInterface
'action' => 'StoreString'
)
);
'action' => 'StoreString'
)
);
+ $parser->addOption(
+ 'configfile',
+ array(
+ 'short_name' => '-c',
+ 'long_name' => '--config',
+ 'help_name' => 'FILE',
+ 'description' => 'Path to configuration file',
+ 'action' => 'StoreString'
+ )
+ );
+
return $parser;
}
return $parser;
}
@@
-108,7
+119,11
@@
abstract class UserInterface
{
try {
$result = $parser->parse();
{
try {
$result = $parser->parse();
- // do something with the result object
+
+ if ($result->options['configfile'] !== null) {
+ $this->config->cfgFiles = array($result->options['configfile']);
+ }
+
$this->config->daysNext = $result->options['daysNext'];
$this->config->daysPrev = $result->options['daysPrev'];
$this->config->renderer = $result->options['renderer'];
$this->config->daysNext = $result->options['daysNext'];
$this->config->daysPrev = $result->options['daysPrev'];
$this->config->renderer = $result->options['renderer'];