[Pkg-running-devel] [openambit] 06/131: Added diff-tool to differ "our" files with movelinks XML files

Christian Perrier bubulle at moszumanska.debian.org
Thu Jul 17 20:19:06 UTC 2014


This is an automated email from the git hooks/post-receive script.

bubulle pushed a commit to branch master
in repository openambit.

commit d672e385a81fd20b2c8e65aa3ac3e03720d0a72d
Author: Emil Ljungdahl <emil at kratern.se>
Date:   Wed Dec 11 23:14:43 2013 +0100

    Added diff-tool to differ "our" files with movelinks XML files
---
 movescountXmlDiff.pl | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 178 insertions(+)

diff --git a/movescountXmlDiff.pl b/movescountXmlDiff.pl
new file mode 100755
index 0000000..0548b7d
--- /dev/null
+++ b/movescountXmlDiff.pl
@@ -0,0 +1,178 @@
+#!/usr/bin/perl
+
+#use strict;
+#use warnings;
+
+my $diffText = `diff -w $ARGV[0] $ARGV[1]`;
+
+my @lines = split /\n/, $diffText;
+
+my @records;
+my $currentRecordLine;
+my $currentRecordRemoveLines;
+my $currentRecordAddLines;
+my $currentRecordStarted = 0;
+
+foreach my $line (@lines) {
+    if ($line =~ m/[0-9,\-]+[c|d|a][0-9,\-]+/g) {
+        if ($currentRecordStarted == 1) {
+            my %currentRecord = ( "LinesText" => $currentRecordLine,
+                                  "RemoveLines" => $currentRecordRemoveLines,
+                                  "AddLines" => $currentRecordAddLines
+                );
+            push(@records, \%currentRecord);
+        }
+        $currentRecordLine = $line;
+        $currentRecordRemoveLines = [];
+        $currentRecordAddLines = [];
+        $currentRecordStarted = 1;
+    }
+    elsif ($line =~ m/^</g) {
+        push(@{$currentRecordRemoveLines}, $line);
+    }
+    elsif ($line =~ m/^>/g) {
+        push(@{$currentRecordAddLines}, $line);
+    }
+}
+
+foreach my $entry (@records) {
+    my $printDiff = 1;
+
+    if (scalar @{$entry->{"RemoveLines"}} == scalar @{$entry->{"AddLines"}}) {
+        my $diffFound = scalar @{$entry->{"RemoveLines"}};
+        for ($i = 0; $i < scalar @{$entry->{"RemoveLines"}}; $i++) {
+            if ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<HR>([0-9\.]+)<\/HR>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<HR>([0-9\.]+)<\/HR>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.00000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.00000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<Latitude>([\-0-9\.]+)<\/Latitude>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<Latitude>([\-0-9\.]+)<\/Latitude>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.000000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.000000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<Longitude>([\-0-9\.]+)<\/Longitude>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<Longitude>([\-0-9\.]+)<\/Longitude>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.000000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.000000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<Speed>([0-9\.]+)<\/Speed>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<Speed>([0-9\.]+)<\/Speed>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.00000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.00000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<VerticalSpeed>([\-0-9\.]+)<\/VerticalSpeed>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<VerticalSpeed>([\-0-9\.]+)<\/VerticalSpeed>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.00000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.00000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<GPSHeading>([\-0-9\.]+)<\/GPSHeading>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<GPSHeading>([\-0-9\.]+)<\/GPSHeading>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.00000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.00000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<GPSSpeed>([0-9\.]+)<\/GPSSpeed>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<GPSSpeed>([0-9\.]+)<\/GPSSpeed>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.00000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.00000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<GPSAltitude>([0-9\.]+)<\/GPSAltitude>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<GPSAltitude>([0-9\.]+)<\/GPSAltitude>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.00000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.00000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<EHPE>([0-9\.]+)<\/EHPE>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<EHPE>([0-9\.]+)<\/EHPE>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.00000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.00000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<Duration>([0-9\.]+)<\/Duration>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<Duration>([0-9\.]+)<\/Duration>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<Time>([0-9\.]+)<\/Time>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<Time>([0-9\.]+)<\/Time>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<EnergyConsumption>([0-9\.]+)<\/EnergyConsumption>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<EnergyConsumption>([0-9\.]+)<\/EnergyConsumption>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.00000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.00000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<PeakTrainingEffect>([0-9\.]+)<\/PeakTrainingEffect>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<PeakTrainingEffect>([0-9\.]+)<\/PeakTrainingEffect>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.00000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.00000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<BatteryCharge>([0-9\.]+)<\/BatteryCharge>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<BatteryCharge>([0-9\.]+)<\/BatteryCharge>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.00000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.00000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<BatteryChargeAtStart>([0-9\.]+)<\/BatteryChargeAtStart>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<BatteryChargeAtStart>([0-9\.]+)<\/BatteryChargeAtStart>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.00000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.00000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<Avg>([0-9\.]+)<\/Avg>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<Avg>([0-9\.]+)<\/Avg>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.00000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.00000000000005) {
+                    $diffFound--;
+                }
+            }
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<Max>([0-9\.]+)<\/Max>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<Max>([0-9\.]+)<\/Max>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.00000000000005 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.00000000000005) {
+                    $diffFound--;
+                }
+            }
+            #elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<UTC>[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:([0-9]{2})Z<\/UTC>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<UTC>[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:([0-9]{2})Z<\/UTC>/g))) {
+            #    if ((@matchRemove[0] - @matchAdd[0]) <= 1 &&
+            #        (@matchRemove[0] - @matchAdd[0]) >= -1) {
+            #        $diffFound--;
+            #    }
+            #}
+            elsif ((@matchRemove = (@{$entry->{"RemoveLines"}}[$i] =~ m/<UTC>[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:([0-9]{2}\.[0-9]{3})Z<\/UTC>/g)) && (@matchAdd = (@{$entry->{"AddLines"}}[$i] =~ m/<UTC>[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:([0-9]{2}\.[0-9]{3})Z<\/UTC>/g))) {
+                if ((@matchRemove[0] - @matchAdd[0]) < 0.002 &&
+                    (@matchRemove[0] - @matchAdd[0]) > -0.002) {
+                    $diffFound--;
+                }
+            }
+        }
+        if ($diffFound == 0) {
+            $printDiff = 0;
+        }
+    }
+
+    if ($printDiff == 1) {
+        print $entry->{"LinesText"}, "\n";
+        foreach my $remLine (@{$entry->{"RemoveLines"}}) {
+            print $remLine, "\n";
+        }
+        if (scalar @{$entry->{"RemoveLines"}} > 0 &&  scalar @{$entry->{"AddLines"}} > 0) {
+            print "---\n";
+        }
+        foreach my $remLine (@{$entry->{"AddLines"}}) {
+            print $remLine, "\n";
+        }
+    }
+}
+
+

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-running/openambit.git



More information about the Pkg-running-devel mailing list