]> git.decadent.org.uk Git - memories.git/commitdiff
Separate tags with commas, split off tag parsing code to Tagtools to make it easier...
authorSimon Cozens <simon@simon-cozens.org>
Sat, 10 Feb 2007 01:19:43 +0000 (01:19 +0000)
committerSimon Cozens <simon@simon-cozens.org>
Sat, 10 Feb 2007 01:19:43 +0000 (01:19 +0000)
git-svn-id: http://svn.simon-cozens.org/memories/trunk@20 041978f6-d955-411f-a9d7-1d8545c9c3c7

Memories/Photo.pm
Tagtools.pm

index ce0cd2003a777277b06e5e535389e14c1be033ba..bcfb59c39c8f7db2b3811c6e53fa1eff38f23b1f 100644 (file)
@@ -303,7 +303,6 @@ sub scale {
     }
 }
 
-use Text::Balanced qw(extract_multiple extract_quotelike);
 sub edit_tags :Exported {
     my ($self, $r) = @_;
     my $photo = $r->objects->[0];
@@ -321,7 +320,7 @@ sub edit_tags :Exported {
 sub add_tags {
     my ($photo, $tagstring) = @_;
 
-    for my $tag (map { s/^"|"$//g; $_} extract_multiple(lc $tagstring, [ \&extract_quotelike, qr/([^\s]+)/ ], undef,1)) {
+    for my $tag (Tagtools->separate_tags($tagstring)) {
         $photo->add_to_tags({tag => Memories::Tag->find_or_create({name =>$tag}) })
     }
 }
index 0fc2529b370505206b4bc99f3aed29aae1c49b09..292e6e517a33c821e5f53bffd6efa2e3faea6a71 100644 (file)
@@ -4,6 +4,7 @@ use Carp;
 use Cache::FileCache;
 use Storable qw(freeze); use MIME::Base64;
 use Calendar::Simple;
+use Text::Balanced qw(extract_multiple extract_quotelike);
 sub import {
     my $whence = caller;
     my ($class) = @_;
@@ -57,6 +58,14 @@ sub import {
 
 }
 
+sub separate_tags {
+    map { s/^"|"$//g; $_} 
+    extract_multiple(
+        lc $_[1], [ 
+            \&extract_quotelike, 
+            qr/([^\s,]+)/ 
+        ], undef,1)
+}
 
 # THIS IS A HACK