summaryrefslogtreecommitdiff
path: root/rhautoimport.pm
diff options
context:
space:
mode:
Diffstat (limited to 'rhautoimport.pm')
-rw-r--r--rhautoimport.pm12
1 files changed, 8 insertions, 4 deletions
diff --git a/rhautoimport.pm b/rhautoimport.pm
index bb0c015..6a7678f 100644
--- a/rhautoimport.pm
+++ b/rhautoimport.pm
@@ -33,7 +33,7 @@ use IO::Handle;
use LWP::Simple;
use XML::Feed;
use RHRD::rddb;
-use JSON;
+use JSON::MaybeXS;
use constant {
@@ -106,7 +106,8 @@ sub parse_result
my $result;
eval {
- $result = from_json($result_json);
+ my $j = JSON::MaybeXS->new(utf8 => 0);
+ $result = $j->decode($result_json);
1;
} or do {
$log .= "\n!! error parsing import result !!\n";
@@ -147,7 +148,7 @@ sub import_uri
my %request;
$request{'LOGIN_NAME'} = RD_USER;
$request{'SHOW_ID'} = int($show_id);
- $request{'CLEAR_SHOW_CARTS'} = JSON::true;
+ $request{'CLEAR_SHOW_CARTS'} = JSON->true;
$request{'SOURCE_URI'} = $uri;
$request{'SOURCE_FILE_POLICY'} = $file_policy if $file_policy;
@@ -157,9 +158,12 @@ sub import_uri
return (1, "can't create request file in watchdir\n") unless($fh);
chmod(0660, $fh);
+ binmode($fh, ":utf8");
my $requestfile = $fh->filename;
my $log = "request file written to '$requestfile' ... ";
- print $fh to_json(\%request);
+
+ my $j = JSON::MaybeXS->new(utf8 => 0);
+ print $fh $j->encode(\%request);
print $fh "\n";
close $fh;