[mythtv] command line option for mythfilldatabase?

Erik Arendse mythtv-dev@snowman.net
Wed, 20 Nov 2002 15:49:28 +0100


--=====================_27118213==_
Content-Type: text/plain; charset="us-ascii"; format=flowed

And now with the patch attached... :-)
===========================

OK, even faster than I promised:

This patch adds a commandline option to mythfilldatabase to import an XML 
file from disk without external grabbers.
At the same time I cleaned up the commandline handling, added --help and 
multiple-option-support, so just running with '--help' should give the 
instructions how to use the new '--file' option.

Erik

At 20-11-02 14:34, you wrote:
>At 20-11-02 12:40, you wrote:
>>may it be possible to give a command line option to mythfilldatabase,
>>giving it an external .xml file and only fetching the file itself with
>>tv_grab_* if no option is given?
>
>OK, I'll write it and send in the patch within one to three days...
>(Want it myself as well :-)
>
>Erik

--=====================_27118213==_
Content-Type: application/octet-stream; name="patch-mythfilldatabase-readfromfile"
Content-Disposition: attachment; filename="patch-mythfilldatabase-readfromfile"
Content-Transfer-Encoding: base64

LS0tIGZpbGxkYXRhLmNwcC5vcmcJVHVlIE5vdiAxOSAwODozMjo0OSAyMDAyCisrKyBmaWxsZGF0
YS5jcHAJV2VkIE5vdiAyMCAxNTozNTo0NyAyMDAyCkBAIC0yMyw2ICsyMyw3IEBACiAKIGJvb2wg
aW50ZXJhY3RpdmUgPSBmYWxzZTsKIGJvb2wgbm9uX3VzX3VwZGF0aW5nID0gZmFsc2U7Citib29s
IGZyb21fZmlsZSA9IGZhbHNlOwogTXl0aENvbnRleHQgKmNvbnRleHQ7CiAKIGNsYXNzIENoYW5J
bmZvCkBAIC03NTQsMTEgKzc1NSwyMCBAQAogICAgIH0KIH0KIAotdm9pZCBncmFiRGF0YShTb3Vy
Y2Ugc291cmNlLCBRU3RyaW5nIHhtbHR2X2dyYWJiZXIsIGludCBvZmZzZXQpCit2b2lkIGdyYWJE
YXRhRnJvbUZpbGUoaW50IGlkLCBpbnQgb2Zmc2V0LCBRU3RyaW5nICZmaWxlbmFtZSkKIHsKICAg
ICBRVmFsdWVMaXN0PENoYW5JbmZvPiBjaGFubGlzdDsKICAgICBRTWFwPFFTdHJpbmcsIFFWYWx1
ZUxpc3Q8UHJvZ0luZm8+ID4gcHJvZ2xpc3Q7CiAKKyAgICBwYXJzZUZpbGUoZmlsZW5hbWUsICZj
aGFubGlzdCwgJnByb2dsaXN0KTsKKworICAgIGhhbmRsZUNoYW5uZWxzKGlkLCAmY2hhbmxpc3Qp
OworICAgIGhhbmRsZVByb2dyYW1zKGlkLCBvZmZzZXQsICZwcm9nbGlzdCk7Cit9CisKKwordm9p
ZCBncmFiRGF0YShTb3VyY2Ugc291cmNlLCBRU3RyaW5nIHhtbHR2X2dyYWJiZXIsIGludCBvZmZz
ZXQpCit7CiAgICAgY2hhciB0ZW1wZmlsZW5hbWVbMTI4XTsKICAgICBzdHJjcHkodGVtcGZpbGVu
YW1lLCAiL3RtcC9teXRoWFhYWFhYIik7CiAgICAgbWtzdGVtcCh0ZW1wZmlsZW5hbWUpOwpAQCAt
NzkwLDEzICs4MDAsMTAgQEAKICAKICAgICBjb3V0IDw8ICItLS0tLS0tLS0tLS0tLS0tLS0gRW5k
IG9mIFhNTFRWIG91dHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0iIDw8IGVuZGw7CiAKLSAgICBwYXJz
ZUZpbGUoZmlsZW5hbWUsICZjaGFubGlzdCwgJnByb2dsaXN0KTsKKyAgICBncmFiRGF0YUZyb21G
aWxlKHNvdXJjZS5pZCwgb2Zmc2V0LCBmaWxlbmFtZSk7CiAKICAgICBRRmlsZSB0aGVmaWxlKGZp
bGVuYW1lKTsKICAgICB0aGVmaWxlLnJlbW92ZSgpOwotCi0gICAgaGFuZGxlQ2hhbm5lbHMoc291
cmNlLmlkLCAmY2hhbmxpc3QpOwotICAgIGhhbmRsZVByb2dyYW1zKHNvdXJjZS5pZCwgb2Zmc2V0
LCAmcHJvZ2xpc3QpOwogfQogCiB2b2lkIGNsZWFyT2xkREJFbnRyaWVzKHZvaWQpCkBAIC04NjAs
MjQgKzg2Nyw3MyBAQAogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIHsKICAgICBR
QXBwbGljYXRpb24gYShhcmdjLCBhcmd2LCBmYWxzZSk7CisgICAgaW50IGFyZ3BvcyA9IDE7Cisg
ICAgaW50IGZyb21maWxlX2lkID0gMTsKKyAgICBpbnQgZnJvbWZpbGVfb2Zmc2V0ID0gMDsKKyAg
ICBRU3RyaW5nIGZyb21maWxlX25hbWU7CiAKLSAgICBpZiAoYS5hcmdjKCkgPiAxKQorICAgIHdo
aWxlIChhcmdwb3MgPCBhLmFyZ2MoKSkKICAgICB7Ci0gICAgICAgIC8vIFRoZSBtYW51YWwgYW5k
IHVwZGF0ZSBmbGFncyBzaG91bGQgYmUgbXV0dWFsbHkgZXhjbHVzaXZlLgotICAgICAgICBpZiAo
IXN0cmNtcChhLmFyZ3YoKVsxXSwgIi0tbWFudWFsIikpCisgICAgICAgIGlmICghc3RyY21wKGEu
YXJndigpW2FyZ3Bvc10sICItLW1hbnVhbCIpKQogICAgICAgICB7Ci0gICAgICAgICAgICBjb3V0
IDw8ICIjIyNcbiI7Ci0gICAgICAgICAgICBjb3V0IDw8ICIjIyMgUnVubmluZyBpbiBtYW51YWwg
Y2hhbm5lbCBjb25maWd1cmF0aW9uIG1vZGUuXG4iOwotICAgICAgICAgICAgY291dCA8PCAiIyMj
IFRoaXMgd2lsbCBhc2sgeW91IHF1ZXN0aW9ucyBhYm91dCBldmVyeSBjaGFubmVsLlxuIjsKLSAg
ICAgICAgICAgIGNvdXQgPDwgIiMjI1xuIjsKKyAgICAgICAgICAgIGNvdXQgPDwgIiMjIyBtYW51
YWwgY2hhbm5lbCBjb25maWd1cmF0aW9uIG1vZGVcbiI7CiAgICAgICAgICAgICBpbnRlcmFjdGl2
ZSA9IHRydWU7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoIXN0cmNtcChhLmFyZ3YoKVsx
XSwgIi0tdXBkYXRlIikpCisgICAgICAgIGVsc2UgaWYgKCFzdHJjbXAoYS5hcmd2KClbYXJncG9z
XSwgIi0tdXBkYXRlIikpCiAgICAgICAgIHsKLSAgICAgICAgICAgIC8vIEZvciBydW5uaW5nIG5v
bi1kZXN0cnVjdGl2ZSB1cGRhdGVzIG9uIHRoZSBkYXRhYmFzZSBmb3IKLSAgICAgICAgICAgIC8v
IHVzZXJzIGluIHhtbHR2IHpvbmVzIHRoYXQgZG8gbm90IHByb3ZpZGUgY2hhbm5lbCBkYXRhLgor
ICAgICAgICAgICAgY291dCA8PCAiIyMjIG5vbiBkZXN0cnVjdGl2ZSB1cGRhdGVzXG4iOwogICAg
ICAgICAgICAgbm9uX3VzX3VwZGF0aW5nID0gdHJ1ZTsKICAgICAgICAgfQorICAgICAgICBlbHNl
IGlmICghc3RyY21wKGEuYXJndigpW2FyZ3Bvc10sICItLWZpbGUiKSkKKyAgICAgICAgeworICAg
ICAgICAgICAgaWYgKCgoYXJncG9zICsgMykgPj0gYS5hcmdjKCkpIHx8CisgICAgICAgICAgICAg
ICAgIXN0cm5jbXAoYS5hcmd2KClbYXJncG9zICsgMV0sICItLSIsIDIpIHx8CisgICAgICAgICAg
ICAgICAgIXN0cm5jbXAoYS5hcmd2KClbYXJncG9zICsgMl0sICItLSIsIDIpIHx8CisgICAgICAg
ICAgICAgICAgIXN0cm5jbXAoYS5hcmd2KClbYXJncG9zICsgM10sICItLSIsIDIpKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIHByaW50ZigibWlzc2luZyBvciBpbnZhbGlkIHBhcmFt
ZXRlcnMgZm9yIC0tZmlsZSBvcHRpb25cbiIpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnJvbWZpbGVfaWQgPSBhdG9pKGEuYXJndigp
WysrYXJncG9zXSk7CisgICAgICAgICAgICBmcm9tZmlsZV9vZmZzZXQgPSBhdG9pKGEuYXJndigp
WysrYXJncG9zXSk7CisgICAgICAgICAgICBmcm9tZmlsZV9uYW1lID0gYS5hcmd2KClbKythcmdw
b3NdOworCisgICAgICAgICAgICBjb3V0IDw8ICIjIyMgYnlwYXNzaW5nIGdyYWJiZXJzLCByZWFk
aW5nIGRpcmVjdGx5IGZyb20gZmlsZVxuIjsKKyAgICAgICAgICAgIGZyb21fZmlsZSA9IHRydWU7
CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoIXN0cmNtcChhLmFyZ3YoKVthcmdwb3NdLCAi
LS1oZWxwIikpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvdXQgPDwgInVzYWdlOlxuIjsKKyAg
ICAgICAgICAgIGNvdXQgPDwgIi0tbWFudWFsXG4iOworICAgICAgICAgICAgY291dCA8PCAiICAg
UnVuIGluIG1hbnVhbCBjaGFubmVsIGNvbmZpZ3VyYXRpb24gbW9kZVxuIjsKKyAgICAgICAgICAg
IGNvdXQgPDwgIiAgIFRoaXMgd2lsbCBhc2sgeW91IHF1ZXN0aW9ucyBhYm91dCBldmVyeSBjaGFu
bmVsXG4iOworICAgICAgICAgICAgY291dCA8PCAiXG4iOworICAgICAgICAgICAgY291dCA8PCAi
LS11cGRhdGVcbiI7CisgICAgICAgICAgICBjb3V0IDw8ICIgICBGb3IgcnVubmluZyBub24tZGVz
dHJ1Y3RpdmUgdXBkYXRlcyBvbiB0aGUgZGF0YWJhc2UgZm9yXG4iOworICAgICAgICAgICAgY291
dCA8PCAiICAgdXNlcnMgaW4geG1sdHYgem9uZXMgdGhhdCBkbyBub3QgcHJvdmlkZSBjaGFubmVs
IGRhdGFcbiI7CisgICAgICAgICAgICBjb3V0IDw8ICJcbiI7CisgICAgICAgICAgICBjb3V0IDw8
ICItLWZpbGUgPHNvdXJjZWlkPiA8b2Zmc2V0PiA8eG1sZmlsZT5cbiI7CisgICAgICAgICAgICBj
b3V0IDw8ICIgICBCeXBhc3MgdGhlIGdyYWJiZXJzIGFuZCByZWFkIGRpcmVjdGx5IGZyb20gZmls
ZVxuIjsKKyAgICAgICAgICAgIGNvdXQgPDwgIiAgIDxzb3VyY2VpZD4gPSBjYXJkaW5wdXRcbiI7
CisgICAgICAgICAgICBjb3V0IDw8ICIgICA8b2Zmc2V0PiAgID0gZGF5cyBmcm9tIHRvZGF5IHht
bGZpbGUgZGVmaW5lc1xuIjsKKyAgICAgICAgICAgIGNvdXQgPDwgIiAgICAgICAgICAgICAgICAo
LTEgbWVhbmluZyBmcm9tIHRvZGF5IG9uIGFsbCBmdXR1cmUgZW50cmllcylcbiI7CisgICAgICAg
ICAgICBjb3V0IDw8ICIgICA8eG1sZmlsZT4gID0gZmlsZSB0byByZWFkXG4iOworICAgICAgICAg
ICAgY291dCA8PCAiXG4iOworICAgICAgICAgICAgY291dCA8PCAiLS1oZWxwXG4iOworICAgICAg
ICAgICAgY291dCA8PCAiICAgVGhpcyB0ZXh0XG4iOworICAgICAgICAgICAgY291dCA8PCAiXG4i
OworICAgICAgICAgICAgY291dCA8PCAiICAoVGhlIG1hbnVhbCBhbmQgdXBkYXRlIGZsYWdzIHNo
b3VsZCBiZSBtdXR1YWxseSBleGNsdXNpdmUpXG4iOworICAgICAgICAgICAgY291dCA8PCAiXG4i
OworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAg
ICAgeworICAgICAgICAgICAgcHJpbnRmKCJpbGxlZ2FsIG9wdGlvbjogJyVzJyAodXNlIC0taGVs
cClcbiIsIGEuYXJndigpW2FyZ3Bvc10pOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAg
ICB9CisKKyAgICAgICAgKythcmdwb3M7CiAgICAgfQogCiAgICAgY29udGV4dCA9IG5ldyBNeXRo
Q29udGV4dChmYWxzZSk7CkBAIC04ODksNiArOTQ1LDEyIEBACiAgICAgICAgIHJldHVybiAtMTsK
ICAgICB9CiAKKyAgICBpZiAoZnJvbV9maWxlKQorICAgIHsKKyAgICAgICAgZ3JhYkRhdGFGcm9t
RmlsZShmcm9tZmlsZV9pZCwgZnJvbWZpbGVfb2Zmc2V0LCBmcm9tZmlsZV9uYW1lKTsKKyAgICB9
CisgICAgZWxzZQorICAgIHsKICAgICBRVmFsdWVMaXN0PFNvdXJjZT4gc291cmNlbGlzdDsKIAog
ICAgIFFTcWxRdWVyeSBzb3VyY2VxdWVyeTsKQEAgLTkxOCw2ICs5ODAsNyBAQAogICAgIGZpbGxE
YXRhKHNvdXJjZWxpc3QpOwogCiAgICAgZGVsZXRlIGNvbnRleHQ7CisgICAgfQogCiAgICAgcmV0
dXJuIDA7CiB9Cg==
--=====================_27118213==_--