30 Commits

Author SHA1 Message Date
Stephan Kulow
aaab4af930 Target F401 - Unused imports 2022-02-18 18:29:27 +01:00
Stephan Kulow
f86579642b Target E501 - Line too long
https://www.flake8rules.com/rules/E501.html - but 79 characters is a
joke
2022-02-18 18:17:27 +01:00
Stephan Kulow
f38bd3a7ed Target E128 - Continuation line under-indented for visual indent
https://www.flake8rules.com/rules/E128.html
2022-02-18 17:35:33 +01:00
Stephan Kulow
27c364b0c9 Target E251 - Unexpected spaces around keyword
https://www.flake8rules.com/rules/E251.html
2022-02-18 17:28:13 +01:00
Stephan Kulow
d8f5d0874e Remove E201 - Whitespace after '('
https://www.flake8rules.com/rules/E201.html
2022-02-18 17:23:19 +01:00
Stephan Kulow
54079e949f Target E202 - Whitespace before ')'
https://www.flake8rules.com/rules/E202.html
2022-02-18 17:18:29 +01:00
Stephan Kulow
529d1dafae Target E302 - add two comment lines before class 2022-02-18 17:15:48 +01:00
Stephan Kulow
4e9c8eabbe Target E305 - Have two empty lines of a class 2022-02-18 17:11:46 +01:00
Stephan Kulow
0561e06cb1 Target E261 - two spaces before inline comment 2022-02-18 16:39:16 +01:00
Stephan Kulow
5df665ccc5 Targeting E123 - Closing bracket does not match indentation
https://www.flake8rules.com/rules/E123.html
2022-02-18 15:52:47 +01:00
Josef Reidinger
f383bb8116
do not use oscrc from fixtures (should fix #1989) 2021-09-03 16:53:09 +02:00
Stephan Kulow
a2eeea143e Fix httpretty using tests
Looks like OSC in Tumbleweed changed behaviour of internal functions
2020-05-02 10:50:59 +02:00
ad06348dcf More flake8 cleanups 2019-12-10 12:50:57 +01:00
ea3b07568c Fix E203
This fixes incorrect whitespacing inside dictionaries.
2019-12-10 08:54:32 +01:00
Stephan Kulow
70dd0ef20f Simplify httpretty usage
Don't pass regexps but real URLs, otherwise the matching won't work.
On travis and leap 15.1 we have httpretty 0.9.5 which won't uncover
the problem, but on Tumbleweed we have 0.9.6 that shows it
2019-05-05 10:49:05 +02:00
Stephan Kulow
58d6d7ca16 Python3 fixes 2019-05-04 15:44:44 +02:00
Stephan Kulow
cedff89286 Replace urlparse.urlparse for python3 2018-11-17 10:51:36 +01:00
Jimmy Berry
d1274ecd1b tests/factory_source_tests: update query after osc@f1c3156.
Drop submit xpath references in favor of action only. A prime example
of the brittleness of this style of test.
2018-08-30 21:56:19 -05:00
Jimmy Berry
6069245350 Remove SUSE copyright, warranty, and license headers.
Distinct copyrights were left as I do not wish to track down commit
history to ensure it properly documents the copyright holders. Also left
non-GPLv2 licenses and left bs_copy untouched as a mirror from OBS.

Already have a mix of with and without headers and even OBS does not place
on majority of files. If SUSE lawyers have an issue it will come up in
legal review for Factory.
2018-08-23 19:18:06 -05:00
Ludwig Nussel
cc2fa88058 leaper: adjust for SLE 15SP1 and SLE12SP4 2018-06-28 14:24:35 +02:00
Jimmy Berry
a40ebc1544 ReviewBot: provide comment command override.
For example:

  @leaper override accept
  @repo-checker override decline
2018-03-06 16:42:12 -06:00
Jimmy Berry
f98a78c1ae Remove Vim config in favor of EditorConfig. 2018-01-23 00:48:00 -06:00
Jimmy Berry
c87c3b02e2 ReviewBot: update tests s/withhistory/withfullhistory/. 2017-07-12 15:31:30 -05:00
Jimmy Berry
7621d4f7f6 tests: add missing creator attribute to requests to satisfy osc. 2017-04-13 15:08:15 -05:00
Jimmy Berry
8054c0c35e ReviewBot: update factory_source and maintenance tests for encoding fix. 2017-03-03 15:31:51 -06:00
Jimmy Berry
cff5befed3 Provide cache for expensive and cache-able staging requests.
The two slowest staging API calls are for information that rarely changes.
By caching the result the commands typically execute over twice as fast.
Going further can see improvements of an order of magnitude or more by
caching almost all the GET requests.

In contrast to osclib/memoize.py this cache operates at the HTTP request
level. This has several advantages:

- Caches the expensive part (ie the HTTP request). There are a number of
  functions in osc.core and elsewhere that make the same API request, but
  process the result differently which would require multiple API calls
  using memoize.
- Handles cases were a loader function uses class attributes as input and
  output and thus no relevant method parameters or return. An important
  example is StagingAPI._generate_ring_packages().
- Storage is project aware which allows caches to be deleted when a project
  is known to have changed.
- Due to project awareness, can utilize OBS /statistics/latest_updated API
  call to determine which projects need to be expired.

The cache file structure is as follows:

- hostname(apiurl)
  - project
    - sha1(url)
  - sha1(url)

See Cache.PATTERNS for changing the time to live (ttl) or add patterns to
be cached.
2017-01-11 10:23:54 -06:00
Ludwig Nussel
9c4382c1a9 Accept requests that are only stuck in Factory staging
If only the review by a factory staging project is left in state new and
all others are in state accepted it means legal, opensuse-review team
etc have completed. So it's safe to consider such a request accepted for
inclusion into Factory. So let's not waste time waiting for the next
Factory checkin round.
2016-09-09 10:30:05 +02:00
Alberto Planas
c9d1e06ca8 Refactor configuration parameters into configuration file. 2015-02-19 11:39:05 +01:00
Ludwig Nussel
cfd6641f82 rename CPE -> Backports 2015-02-04 16:43:56 +01:00
Ludwig Nussel
a590787e33 new review bots factory-source and maintbot
factory-source checks if submissions contain sources already accepted in
Factory. maintbot makes sure maintenance submissions are authored by the
Factory package maintainer.

Both are based on a new generic ReviewBot.py class that can serve as
common framework for review bots.
2014-11-25 14:36:22 +01:00