scorematrix => "application/x-jalview-scorematrix+text",
pdb => "chemical/x-pdb",
mmcif => "chemical/x-cif",
- mmcif2 => "chemical/x-mcif",
+ mmcif2 => "chemical/x-mmcif",
jalview => "application/x-jalview+xml+zip",
jvl => "application/x-jalview-jvl+text",
annotations => "application/x-jalview-annotations+text",
gff3 => {shortname=>"gff3",name=>"Generic Features Format v3",extensions=>["gff3"]},
features => {shortname=>"features",name=>"Jalview Features",extensions=>["features","jvfeatures"]},
annotations => {shortname=>"annotations",name=>"Jalview Annotations",extensions=>["annotations","jvannotations"]},
+ mmcif => {shortname=>"mmcif",name=>"CIF",extensions=>["cif"]},
mmcif2 => {shortname=>"mmcif2",name=>"mmCIF",extensions=>["mcif","mmcif"]},
- jvl => {shortname=>"jvl",name=>"Jalview Launch",extensions=>["jvl"],iconfile=>"Jalview-Launch"},
+ jvl => {shortname=>"jvl",name=>"Jalview Launch",extensions=>["jvl"],iconfile=>"jvl_file"},
jnet => {shortname=>"jnet",name=>"JnetFile",extensions=>["concise","jnet"]},
scorematrix => {shortname=>"scorematrix",name=>"Substitution Matrix",extensions=>["mat"]},
};
my %all_associations = (%$file_associations, %$add_associations);
-my $num = 0;
-my $i4jcount = 0;
my @ordered = (@put_first, @non_primary);
for my $key (sort keys %all_associations) {
next if grep($_ eq $key, @ordered);
push(@ordered, $key);
}
-for my $key (@ordered) {
- my $a = $all_associations{$key};
- next if (ref($a) ne "HASH");
-
- my $extensions = $a->{extensions};
- my @extensions = @$extensions;
-
- $num++
-}
+my $num = $#ordered + 1;
warn("--\n");
+my $i4jcount = 0;
for my $shortname (@ordered) {
my $a = $all_associations{$shortname};
next if (ref($a) ne "HASH");
my $xshortname = xml_escape($shortname);
my $xiconfile = xml_escape($iconfile);
my $xrole = xml_escape($role);
+ my $xROLE = xml_escape(uc($role));
my $xprimarystring = xml_escape($primarystring);
my $macentry = $mactemplate;
$i4jentry =~ s/\$\$MIMETYPE\$\$/$xmimetype/g;
$i4jentry =~ s/\$\$ICONFILE\$\$/$xiconfile/g;
$i4jentry =~ s/\$\$PRIMARY\$\$/$xprimarystring/g;
+ $i4jentry =~ s/\$\$MACASSOCIATIONROLE\$\$/$xROLE/g;
my $ext = join(",",sort(@extensions));
my $xdisplayext = xml_escape(join(", ", map(".$_",sort(@extensions))));
- $i4jcount++;
my $progresspercent = int(($i4jcount/$num)*100);
$progresspercent = 100 if $progresspercent > 100;
+ $i4jcount++;
my $xext = xml_escape($ext);
my $addunixextension = "true";
close(IA);
print MA "</array>\n";
-#
-# print MA "
-# <!-- BEGIN FROM PERL SCRIPT -->
-# <key>CFBundleURLTypes</key>
-# <array>
-# <dict>
-# <key>CFBundleURLName</key>
-# <string>org.jalview.jalview-desktop.url.jalview</string>
-# <key>CFBundleTypeRole</key>
-# <string>Editor</string>
-# <key>CFBundleURLSchemes</key>
-# <array>
-# <string>jalview</string>
-# </array>
-# </dict>
-# </array>
-# <!-- END FROM PERL SCRIPT -->
-# ";
close(MA);
sub xml_escape {
my $x = shift;
# stolen from Pod::Simple::XMLOutStream in base distro
- $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg;
+ $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}a-zA-Z0-9])/'&#'.(ord($1)).';'/eg;
return $x;
}