Beispiel #1
0
    def print_diff(self, old_path, new_path, pool):
        if not old_path or not new_path:
            return

        old_rev = svn.fs.node_created_rev(self.old_root, old_path, pool)
        new_rev = svn.fs.node_created_rev(self.new_root, new_path, pool)

        options = Diff.get_options(self.env, self.req, self.args, 1)

        # Make sure we have permission to view this diff
        if not self.authzperm.has_permission(new_path):
            return

        # Try to figure out the charset used. We assume that both the old
        # and the new version uses the same charset, not always the case
        # but that's all we can do...
        mime_type = svn.fs.node_prop(self.new_root, new_path,
                                     svn.util.SVN_PROP_MIME_TYPE, pool)
        # We don't have to guess if the charset is specified in the
        # svn:mime-type property
        ctpos = mime_type and mime_type.find('charset=') or -1
        if ctpos >= 0:
            charset = mime_type[ctpos + 8:]
            self.log.debug("Charset %s selected" % charset)
        else:
            charset = self.env.get_config('trac', 'default_charset',
                                          'iso-8859-15')

        # Start up the diff process
        differ = svn.fs.FileDiff(self.old_root, old_path, self.new_root,
                                 new_path, pool, options)
        differ.get_files()
        pobj = differ.get_pipe()
        prefix = 'changeset.diff.files.%d' % (self.fileno)
        self.req.hdf.setValue(prefix + '.browser_href.old',
                              self.env.href.file(old_path, old_rev))
        self.req.hdf.setValue(prefix + '.browser_href.new',
                              self.env.href.file(new_path, new_rev))
        tabwidth = int(self.env.get_config('diff', 'tab_width', '8'))
        builder = Diff.HDFBuilder(self.req.hdf, prefix, tabwidth)
        self.fileno += 1
        builder.writeline('header %s %s | %s %s redaeh' %
                          (old_path, old_rev, new_path, new_rev))
        while 1:
            line = pobj.readline()
            if not line:
                break
            builder.writeline(util.to_utf8(line, charset))
        builder.close()
        pobj.close()
        # svn.fs.FileDiff creates a child process and there is no waitpid()
        # calls to eliminate zombies (this is a problem especially when
        # mod_python is used.
        if sys.platform[:3] != "win" and sys.platform != "os2emx":
            try:
                os.waitpid(-1, 0)
            except OSError:
                pass
Beispiel #2
0
def table1(n):
    A, B, C, G, X = Diff.coeff2(n)
    S, T, Y = Diff.sweep(n + 1, A, B, C, G)
    trace = go.Table(header=dict(
        values=['i', 'xi', 'Ai', 'Bi', 'Ci', 'Gi', 'Si', 'Ti', 'Yi']),
                     cells=dict(values=[[i for i in range(n + 2)],
                                        rnd(X, 2),
                                        rnd(A, 5),
                                        rnd(B, 5),
                                        rnd(C, 5),
                                        rnd(G, 5),
                                        rnd(S, 5),
                                        rnd(T, 5),
                                        rnd(Y, 5)]))
    data = [trace]
    plotly.offline.plot(data)
 def diff(self, key, v1, v2):
     (versionmap, entries) = self.ensure_history_for(key)
     r1 = versionmap.get(v1, v1)
     r2 = versionmap.get(v2, v2)
     return Diff.Diff(key, v1, v2,
                      self.pipe_lines('diff -u3 -r %s -r %s %s' % \
                                      (r1, r2, shell_quote(key)),
                                      True))
Beispiel #4
0
    def render(self):
        self.perm.assert_permission(perm.CHANGESET_VIEW)

        self.add_link('alternate', '?format=diff', 'Unified Diff',
                      'text/plain', 'diff')

        youngest_rev = svn.fs.youngest_rev(self.fs_ptr, self.pool)
        if self.args.has_key('rev'):
            self.rev = int(self.args.get('rev'))
        else:
            self.rev = youngest_rev

        Diff.get_options(self.env, self.req, self.args, 1)
        if self.args.has_key('update'):
            self.req.redirect(self.env.href.changeset(self.rev))

        change_info = self.get_change_info(self.rev)
        changeset_info = self.get_changeset_info(self.rev)

        self.req.hdf.setValue('title', '[%d] (changeset)' % self.rev)
        self.req.hdf.setValue(
            'changeset.time',
            time.asctime(time.localtime(int(changeset_info['time']))))
        author = changeset_info['author'] or 'anonymous'
        self.req.hdf.setValue('changeset.author', util.escape(author))
        message = changeset_info['message'] or '--'
        self.req.hdf.setValue(
            'changeset.message',
            wiki_to_html(util.wiki_escape_newline(message), self.req.hdf,
                         self.env, self.db))
        self.req.hdf.setValue('changeset.revision', str(self.rev))
        util.add_dictlist_to_hdf(change_info, self.req.hdf,
                                 'changeset.changes')

        self.req.hdf.setValue('changeset.href',
                              self.env.href.changeset(self.rev))
        if self.rev > 1:
            self.add_link('first', self.env.href.changeset(1), 'Changeset 1')
            self.add_link('prev', self.env.href.changeset(self.rev - 1),
                          'Changeset %d' % (self.rev - 1))
        if self.rev < youngest_rev:
            self.add_link('next', self.env.href.changeset(self.rev + 1),
                          'Changeset %d' % (self.rev + 1))
            self.add_link('last', self.env.href.changeset(youngest_rev),
                          'Changeset %d' % youngest_rev)
Beispiel #5
0
def _parse_diff(link: mwparserfromhell.nodes.Wikilink) -> Diff:
    assert link.title.startswith('Special:Diff/'), link
    revid: str = link.title.split('/', 1)[1]
    size = str(link.text)
    assert re.match(r'^\d+$', revid), link
    assert re.match(r'^\([+-]\d+\)$', size), link

    return Diff(
        revid=int(revid),
        size=size[1:-1],
    )
Beispiel #6
0
    def generate_diff(self, pagename, version):
        import Diff
        Diff.get_options(self.env, self.req, self.args)
        if self.args.has_key('update'):
            self.req.redirect(self.env.href.wiki(pagename, version, 1))

        cursor = self.db.cursor()
        cursor.execute(
            'SELECT text,author,comment,time FROM wiki '
            'WHERE name=%s AND (version=%s or version=%s)'
            'ORDER BY version ASC', pagename, version - 1, version)
        res = cursor.fetchall()
        if not res:
            raise TracError(
                'Version %d of page "%s" not found.' % (version, pagename),
                'Page Not Found')

        if len(res) == 1:
            old = ''
        else:
            old = res[0][0].splitlines()
        new = res[-1][0].splitlines()
        author = res[-1][1] or ''
        comment = res[-1][2] or ''
        time_str = time.strftime('%c', time.localtime(int(res[-1][3])))
        self.req.hdf.setValue('wiki.version', str(version))
        self.req.hdf.setValue('wiki.diff.time', time_str)
        self.req.hdf.setValue('wiki.diff.author', escape(author))
        self.req.hdf.setValue('wiki.diff.comment', escape(comment))

        builder = Diff.HDFBuilder(self.req.hdf, 'wiki.diff')
        builder.writeline('header %s %d | %s %d redaeh' %
                          (pagename, version - 1, pagename, version))
        builder.writeline('@@ -1,%d +1,%d @@' % (len(old), len(new)))
        try:
            for line in difflib.Differ().compare(old, new):
                if line != '  ':
                    builder.writeline(line)
        except AttributeError:
            raise TracError('Python >= 2.2 is required for diff support.')
        builder.close()
 def diff(self, key, v1, v2):
     e1 = self.gethistoryentry(key, v1)
     e2 = self.gethistoryentry(key, v2)
     if e1 and e2 and e1 > e2:
         reversal = True
         t = e1
         e1 = e2
         e2 = t
     else:
         reversal = False
     if e1: e1 = e1.next
     if e1 and e2:
         d = Diff.Diff(key, v1, v2,
                       self.pipe_lines(('diff -u --from-match="hash %s" ' \
                                        '--to-match="hash %s" %s') \
                                       % (e1.version_id, e2.version_id, shell_quote(key)),
                                       True))
         if reversal:
             d.reverse()
         return d
     else:
         return Diff.Diff(key, v1, v2, [])
 def diff(self, key, v1, v2):
     text1 = self.getbinary(key, '', v1)
     text2 = self.getbinary(key, '', v2)
     f1 = tempfilewith(text1)
     f2 = tempfilewith(text2)
     command = 'diff -u3 %s %s' % (f1, f2)
     self.debug_log_cmd(command, 'diff')
     f = os.popen(command)
     result = f.readlines()
     f.close()
     os.unlink(f1)
     os.unlink(f2)
     return Diff.Diff(key, v1, v2, result)
Beispiel #9
0
def table2(n, Y_ex):
    A1, B1, C1, G1, X1 = Diff.coeff(n)
    A2, B2, C2, G2, X2 = Diff.coeff2(n)
    S1, T1, Y1 = Diff.sweep(n, A1, B1, C1, G1)
    S2, T2, Y0 = Diff.sweep(n + 1, A2, B2, C2, G2)
    Y3 = [(Y0[i] + Y0[i + 1]) / 2 for i in range(n + 1)]
    Y1 = Diff.runge(n, 1, Y1)
    Y2 = Diff.runge(n, 2, Y3)
    trace = go.Table(
        header=dict(values=[
            'x', 'Y_ex', 'Y_ut(h)', 'Y_ut - Y_ex', 'Y_ut(h^2)', 'Y_ut - Y_ex'
        ]),
        cells=dict(values=[
            rnd(X1, 2), Y_ex,
            rnd(Y1, 6), [round(abs(Y1[i] - Y_ex[i]), 6) for i in range(n + 1)],
            rnd(Y2, 5),
            [round(abs(Y2[i] - Y_ex[i]), 10) for i in range(n + 1)]
        ]))
    data = [trace]
    plotly.offline.plot(data)
Beispiel #10
0
 def __init__(self):
     self.diff1 = Diff.Diff()
     self.diff2 = Diff.Diff()
     self.trails = Trails.Trails()
     self.wrap109 = Wrap109.Wrap109()
Beispiel #11
0
 def __init__(self):
     self.diff = Diff.Diff()
     self.blacklines2 = Blacklines2.Blacklines2()
     self.alpha = Alpha.Alpha()
Beispiel #12
0
def nothing(x):
    pass


# Create a black image, a window
cv2.namedWindow('image')

# create trackbars for color change
cv2.createTrackbar('low threshold', 'image', 0, 255, nothing)
cv2.createTrackbar('high threshold', 'image', 0, 255, nothing)
# cv2.createTrackbar('kernel size','image',0,255,nothing)

trails = Trails.Trails()
trails2 = Trails.Trails()
diff = Diff.Diff()
wrap = Wrap109.Wrap109()
blacklines = Blacklines2.Blacklines2()
blackboard = Blackboard3.Blackboard3()
paint109 = Paint109.Paint109()
# blackboard3 and paint109 are the main modes

while (True):
    # Capture frame-by-frame
    ret, frame = cap.read()

    # Our operations on the frame come here
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    l = cv2.getTrackbarPos('low threshold', 'image')
    h = cv2.getTrackbarPos('high threshold', 'image')
Beispiel #13
0
from Oxidation import *
import Diff
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
Axes3D(fig)

ax = fig.gca(projection='3d')
Diff.zagonka()
surf = ax.plot_wireframe(Diff.Y1, Diff.X1, Diff.Z0, color="#727574")

temperature, orientation, p, xmax, B, A, ni = vvodDannih()

timeOxidation = 30*60  # cек
for t in range(1, timeOxidation):
    time += dt  # время которое обнуляется при изменении граничного элемента
    for j in range(0,n):
        # Окно
        if 2 < y[j] < 4:
            howMuchOxid[j] = X(time, A[j], B, xi[j]*2)/2
        # Левый заход за окно
        if y[j] <= 2:
            howMuchOxid[j] = (X(t, A[j], B, 0)/2*(1+erf(sqrt(2)/2*(y[j]-2) / (X(t, A[j], B, 0)))))
        # Правый заход за окно
        if y[j] >= 4:
            howMuchOxid[j] = (X(t, A[j], B, 0 * 2) / 2 * (1 + erf(sqrt(2) / 2 * (-(y[j] - 4)) / (X(t, A[j], B, 0 * 2)))))


    # Если самое большое значение оксида превзашло граничный элемент (плато)
    if max(howMuchOxid) >= borderElement:
 def diff(self, key, v1, v2):
     return Diff.Diff(key, v1, v2,
                      self.pipe_lines('diff -r %s -r %s %s' % \
                                      (v1, v2, shell_quote(key)),
                                      True))