From 008f880a50bfbf047bdd1007ee10e04f21dee9d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= <sybren@stuvel.eu>
Date: Wed, 21 Jun 2017 16:24:46 +0200
Subject: [PATCH] Fixed incompatibility with attrs version 17.1+.

---
 CHANGELOG.md                | 5 +++++
 flamenco_worker/upstream.py | 7 +++----
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4e88281f..28d9f09b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,11 @@
 This file logs the changes that are actually interesting to users (new features,
 changed functionality, fixed bugs).
 
+## Version 2.0.6 (in development)
+
+- Fixed incompatibility with attrs version 17.1+.
+
+
 ## Version 2.0.5 (released 2017-05-09)
 
 - Vacuum SQLite database at startup.
diff --git a/flamenco_worker/upstream.py b/flamenco_worker/upstream.py
index a9ac8ea7..d48ab0b2 100644
--- a/flamenco_worker/upstream.py
+++ b/flamenco_worker/upstream.py
@@ -36,9 +36,8 @@ class FlamencoManager:
     async def patch(self, *args, loop, **kwargs) -> requests.Response:
         return await self.client_request('PATCH', *args, loop=loop, **kwargs)
 
-    @functools.lru_cache(1)
-    def user_agent(self):
-        return 'Flamenco-Worker/%s' % self.flamenco_worker_version
+    def __attrs_post_init__(self):
+        self.user_agent = 'Flamenco-Worker/%s' % self.flamenco_worker_version
 
     async def client_request(self, method, url, *,
                              params=None,
@@ -83,7 +82,7 @@ class FlamencoManager:
 
         if headers is None:
             headers = {}
-        headers['User-Agent'] = self.user_agent()
+        headers['User-Agent'] = self.user_agent
 
         http_req = partial(self.session.request,
                            method, abs_url,
-- 
GitLab