=== slank is now known as slank_away | ||
StevenK | Failed example: | 00:16 |
---|---|---|
StevenK | print concrete_one_zero.files[0].libraryfile.read() | 00:16 |
StevenK | Differences (ndiff with -expected +actual): | 00:16 |
StevenK | + None | 00:16 |
StevenK | :-( | 00:16 |
StevenK | wgrant: From what I can see, everything should be okay, but why does read() return None :-( | 00:21 |
wgrant | StevenK: You sure you opened it? You might even need to call read() on the object that gets returned from open() | 00:26 |
StevenK | read() will autoopen | 00:26 |
StevenK | (And autoclose, which is handy) | 00:26 |
wgrant | StevenK: Is it using a real librarian? | 00:27 |
wgrant | If you break in the test, can you see the file? | 00:27 |
wgrant | Have you checked the librarian log? | 00:27 |
StevenK | It's a doctest, breaking is hard | 00:27 |
lifeless | you could fix that | 00:28 |
StevenK | pdb inside a doctest has always broken | 00:28 |
StevenK | And the only way I know to fix it is to destroy all doctests | 00:28 |
wgrant | It'll break | 00:29 |
wgrant | It just won't have useful context | 00:29 |
wgrant | You can still poke around outside it | 00:29 |
StevenK | (Pdb) p self._datafile | 00:31 |
StevenK | <lp.services.librarian.client._File object at 0x10489890> | 00:31 |
StevenK | (Pdb) p self._datafile.read() | 00:31 |
StevenK | 'None' | 00:31 |
wgrant | Did that make a request to the librarian? | 00:31 |
wgrant | Can you seek? | 00:31 |
wgrant | What does it mean for it to return None? | 00:31 |
StevenK | *** ForbiddenAttribute: ForbiddenAttribute('seek', <lp.services.librarian.client._File object at 0x10489890>) | 00:31 |
StevenK | wgrant: Ah, but it isn't None, it's the string None | 00:32 |
wgrant | Ah, true | 00:32 |
wgrant | So maybe your code is buggy :) | 00:33 |
StevenK | Yes, I'm checking | 00:33 |
StevenK | (Pdb) p fs['file_content'] | 00:34 |
StevenK | MiniFieldStorage('file_content', 'first attachment file content \xff') | 00:34 |
StevenK | (Pdb) p fs['file_content'].file | 00:34 |
StevenK | None | 00:34 |
StevenK | wgrant: http://pastebin.ubuntu.com/1618379/ | 00:42 |
StevenK | wgrant: Does that address your concerns? | 00:42 |
wgrant | StevenK: Can you confirm that the test fails if you go back to the code that I reverted? | 00:43 |
wgrant | ie. without the reretrieval | 00:43 |
StevenK | I have already confirmed before I pasted the diff | 00:43 |
wgrant | Great | 00:43 |
wgrant | Sounds reasonable, then | 00:43 |
StevenK | wgrant: I thought those were your two concerns? A XXX in the function itself, and a test | 00:45 |
StevenK | wgrant: The MP is updated | 00:52 |
wgrant | StevenK: Looking | 01:03 |
wgrant | StevenK: Oh | 01:07 |
wgrant | StevenK: What about signature_content? | 01:07 |
StevenK | I think that one is immune | 01:08 |
StevenK | Let me check | 01:08 |
StevenK | In [6]: l.files[0].signature.read() | 01:11 |
StevenK | Out[6]: '-----BEGIN PGP... | 01:11 |
StevenK | It's ASCII-armored, so coercing to unicode will not negatively impact it | 01:11 |
StevenK | In [8]: f = open('/tmp/f.tar.gz.asc').read() | 01:12 |
StevenK | In [9]: lfa == f | 01:12 |
StevenK | Out[9]: True | 01:12 |
wgrant | StevenK: Yeah, but still | 01:13 |
wgrant | ASCII-armored sigs are designed to survive exactly this sort of thing, but we should probably apply this hack to all lazr.restful file inputs | 01:14 |
lifeless | you could fix zope. | 01:14 |
* lifeless waits for the laughter | 01:14 | |
wgrant | s/laughter/stabbage/ | 01:14 |
StevenK | wgrant: http://pastebin.ubuntu.com/1618447/ | 01:16 |
wgrant | StevenK: :) | 01:18 |
StevenK | I can add a \xff to the signature content if you wish | 01:19 |
StevenK | Just to be sure | 01:20 |
wgrant | Might as well | 01:21 |
* wgrant lunches | 01:21 | |
StevenK | wgrant: Back from lunch? | 02:48 |
wgrant | StevenK: Yeah | 02:53 |
StevenK | wgrant: Should I take the Branch:+register-merge critical? | 02:53 |
wgrant | StevenK: Worth a try | 02:54 |
StevenK | wgrant: So the method to find a branch needs a rewrite and new indicies? | 02:55 |
wgrant | StevenK: Don't think of it as a rewrite and new indices | 02:55 |
wgrant | Think of it as a redesign approximately from scratch | 02:55 |
wgrant | It may or may not need new indices | 02:55 |
wgrant | But the search method needs to be rethought with performance over more than 1000 branches in mind | 02:56 |
=== Ursinha_ is now known as Ursinha | ||
StevenK | wgrant: https://code.launchpad.net/~stevenk/launchpad/destroy-private-projects-feature-flags/+merge/147022 | 06:19 |
wgrant | StevenK: r=me | 06:27 |
StevenK | wgrant: And my QA is done | 06:27 |
StevenK | wgrant: You want a NDT? | 06:27 |
wgrant | StevenK: Please :) | 06:28 |
wgrant | The indices are there now | 06:28 |
wgrant | So we should be good to go | 06:28 |
StevenK | And kills 4 criticals | 06:30 |
StevenK | You have a lock on LPS? | 06:30 |
wgrant | StevenK: Apparently. It's yours | 06:33 |
wgrant | I sadly can't really close the vocab critical | 06:33 |
wgrant | It's still pretty awful for bad names | 06:33 |
wgrant | Depending on the number of builds | 06:33 |
StevenK | Aww | 06:33 |
StevenK | wgrant: Are you going to land 7? | 07:41 |
wgrant | StevenK: Not just yet | 07:46 |
wgrant | Going to wait and see if the world ends | 07:46 |
StevenK | Fair enough | 07:46 |
wgrant | It's still safe to back out the ndt at this point. | 07:46 |
StevenK | Mmmm, 7 is the point of no return | 07:46 |
wgrant | Exactly | 07:46 |
StevenK | It's probably landable and deployable tomorrow | 07:47 |
wgrant | That's the plan | 07:47 |
StevenK | It's a good plan | 07:47 |
wgrant | Hm, I should fix tuolumne | 07:47 |
=== wgrant changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On-call reviewer: - | Firefighting: - | Critical bugs: <130 | ||
adeuring | good morning | 08:48 |
jtv | Good morning adeuring | 09:06 |
adeuring | hi jtv! | 09:07 |
jtv | Nice weather today. Let me just check if any of my mangoes are ripe yet. | 09:08 |
lifeless | hi | 09:45 |
=== yofel_ is now known as yofel | ||
lifeless | where should stale vcs mirrors be reported these days | 09:45 |
lifeless | https://code.launchpad.net/~testing-cabal/testtools/trunk only tracks up to the 24th jan | 09:46 |
lifeless | there have been 27 or so commits since spread over the interveneing period | 09:47 |
* wgrant guesses it's a https github import | 09:47 | |
wgrant | Indeed it is | 09:47 |
jml | wgrant: is there an open bug re that? | 09:51 |
wgrant | jml: Yes | 09:52 |
jml | wgrant: got it. ta. | 09:53 |
wgrant | https://bugs.launchpad.net/bugs/1072461 | 09:54 |
_mup_ | Bug #1072461: Code import from github does not take latest commits <code-import> <git> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1072461 > | 09:54 |
=== slank_away is now known as slank | ||
=== teknico___ is now known as teknico | ||
=== teknico__ is now known as teknico | ||
slank | Is there a way to get a list of branches for a user/project via the api? I'd like to grab the equivalient of code.lp.n/~user/project | 15:07 |
=== teknico_ is now known as teknico | ||
=== teknico_ is now known as teknico | ||
james_w | slank: I don't know of a way to do that without filtering client side | 16:51 |
slank | james_w: that's probably ok. perhaps there's a way to get branches for a user? I haven't found that either. | 16:52 |
james_w | slank: user.getBranches() | 16:53 |
james_w | slank: I can't link directly, but the second "Custom GET method" under https://launchpad.net/+apidoc/devel.html#person | 16:53 |
slank | james_w: ah. thanks! | 16:55 |
=== slank is now known as wedgwood | ||
=== matsubara is now known as matsubara-afk | ||
=== mwhudson_ is now known as mwhudson |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!