<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Dec 4, 2017 at 5:51 PM, Hal Murray via devel <span dir="ltr"><<a href="mailto:devel@ntpsec.org" target="_blank">devel@ntpsec.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-"><br>
            days = int(last) / 86400<br>
            seconds = last - days*86400<br>
<br>
</span>I've kludged some printing.<br>
days is a float, for example: 17504.9482755<br>
<br>
is int/int supposed to result in an int or a float?<br>
<br>
I expected it to be an int.  This code used to work.  Trying by hand, I get<br>
an int...<br>
<span class="gmail-im gmail-HOEnZb"><br>
<br></span></blockquote><div><br></div><div>There is a change in the way this is handled by Python between 2 and 3.</div><div><br></div><div>You can force integer arithmetic with "//" like 3 // 2 which will result in 1.</div><div><br></div><div>It looks like you are trying to get the days and the leftover seconds (int(last) % 86400).  Also if last is a string value it might be returning a numeric equivalent of zero.  The actual error is likely not using "int(last)" in the second case.</div><div><br></div><div>However, if I understand the intent, the correct Python solution is "<font face="monospace, monospace">days, seconds = divmod(int(last), 86400)</font><font face="arial, helvetica, sans-serif">".</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><span style="font-family:arial,helvetica,sans-serif">Again, assuming I'm not making an embarrassing</span><span style="font-family:arial,helvetica,sans-serif"> omission, the code should look something like:</span><br></div></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div class="gmail_extra"><div class="gmail_quote"><div><font face="arial, helvetica, sans-serif"><br></font></div><div><span style="font-size:12.8px"><font face="monospace, monospace">        last = ntp.ntpc.lfptofloat(entry.</font></span><font face="monospace, monospace"><wbr style="font-size:12.8px"><span style="font-size:12.8px">last)</span><br style="font-size:12.8px"><span style="font-size:12.8px">        if self.now:</span><br style="font-size:12.8px"><span style="font-size:12.8px">            lstint = int(self.now - last + 0.5)</span><br style="font-size:12.8px"><span style="font-size:12.8px">            stats = "%7d" % lstint</span><br style="font-size:12.8px"><span style="font-size:12.8px">        else:</span><br style="font-size:12.8px"><span style="font-size:12.8px">            # direct mode doesn't have a reference time</span><br style="font-size:12.8px"><span style="font-size:12.8px">            MJD_1970 = 40587     # MJD for 1 Jan 1970, Unix epoch</span><br style="font-size:12.8px"><span style="font-size:12.8px">            days, lstint = divmod(int(last), 86400)</span></font></div><div><font face="monospace, monospace"><span style="font-size:12.8px">            stats = "%5d %5d" % (days + MJD_1970, lstint)</span></font><font face="arial, helvetica, sans-serif"><br></font></div></div></div></blockquote><font face="arial, helvetica, sans-serif"><span style="font-size:12.8px"><br></span></font><div><font face="arial, helvetica, sans-serif"><span style="font-size:12.8px">If that is not the issue, I will be glad to take a real look at this in running code.</span></font></div><div><font face="arial, helvetica, sans-serif"><span style="font-size:12.8px"><br></span></font></div><div><font face="arial, helvetica, sans-serif"><span style="font-size:12.8px">Regards,</span></font></div><div><font face="arial, helvetica, sans-serif"><span style="font-size:12.8px">Clark B. Wierda</span></font></div></div>