Repository: PokemonGoF/PokemonGo-Bot

Issue:
catch_pokemon: never_capture does not work
**Expected Behavior**
*A wild Pidgey appeared!* (CP: 235) (NCP: 0.35) (Potential 0.27) (A/D/S 6/1/5)
Great Curveball throw! Used Pokeball, with chance 38.66 (3 left)
Captured Pidgey! [CP 235] [NCP 0.35] [Potential 0.27] [6/1/5](17/600) [+160 exp] [+100 stardust]

**Actual Behavior**
*A wild Pidgey appeared!* (CP: 235) (NCP: 0.35) (Potential 0.27) (A/D/S 6/1/5)
Skip ignored Pidgey! (CP: 235) (NCP: 0.35) (Potential 0.27) (A/D/S 6/1/5)

**Steps to Reproduce**
Update to the latest dev commit
And use 
"catch": { "Pidgey": { "never_capture": true } }

[docs/configuration_files.md](https://github.com/PokemonGoF/PokemonGo-Bot/blob/dev/docs/configuration_files.md#catch-configuration)
Additionally, you can specify always_capture and never_capture flags.
For example: "Pidgey": {"never_capture": true} will stop catching Pidgey entirely.



Discussion:

Resolving patch:
diff --git a/pokemongo_bot/cell_workers/update_live_stats.py b/pokemongo_bot/cell_workers/update_live_stats.py
--- a/pokemongo_bot/cell_workers/update_live_stats.py
+++ b/pokemongo_bot/cell_workers/update_live_stats.py
@@ -60,6 +60,7 @@ class UpdateLiveStats(BaseTask):
     - pokemon_stats : Puts together the pokemon encountered, caught, released, evolved and unseen.
     - pokeballs_thrown : The number of thrown pokeballs.
     - stardust_earned : The number of earned stardust since the bot started.
+    - stardust_per_hour : The estimated gain of stardust per hour
     - highest_cp_pokemon : The caught pokemon with the highest CP since the bot started.
     - most_perfect_pokemon : The most perfect caught pokemon since the bot started.
     - location : The location where the player is located.
@@ -265,6 +266,7 @@ def _get_stats(self, player_stats):
         pokemon_evolved = metrics.num_evolutions()
         pokemon_unseen = metrics.num_new_mons()
         pokeballs_thrown = metrics.num_throws()
+        dust_per_hour = int(metrics.stardust_per_hour())
         stardust_earned = metrics.earned_dust()
         highest_cp_pokemon = metrics.highest_cp['desc']
         if not highest_cp_pokemon:
@@ -297,6 +299,7 @@ def _get_stats(self, player_stats):
             'pokemon_unseen': pokemon_unseen,
             'pokeballs_thrown': pokeballs_thrown,
             'stardust_earned': stardust_earned,
+            'stardust_per_hour': dust_per_hour,
             'highest_cp_pokemon': highest_cp_pokemon,
             'most_perfect_pokemon': most_perfect_pokemon,
             'location': [self.bot.position[0], self.bot.position[1]],
@@ -344,6 +347,7 @@ def _get_stats_line(self, player_stats):
             ),
             'pokeballs_thrown': 'Threw {:,} pokeballs'.format(player_stats['pokeballs_thrown']),
             'stardust_earned': 'Earned {:,} Stardust'.format(player_stats['stardust_earned']),
+            'stardust_per_hour': '{:,} Stardust/h'.format(player_stats['stardust_per_hour']),
             'highest_cp_pokemon': 'Highest CP pokemon : {}'.format(player_stats['highest_cp_pokemon']),
             'most_perfect_pokemon': 'Most perfect pokemon : {}'.format(player_stats['most_perfect_pokemon']),
             'location': 'Location : ({}, {})'.format(*player_stats['location']),
diff --git a/pokemongo_bot/metrics.py b/pokemongo_bot/metrics.py
--- a/pokemongo_bot/metrics.py
+++ b/pokemongo_bot/metrics.py
@@ -72,6 +72,9 @@ def num_evolutions(self):
 
     def earned_dust(self):
         return self.dust['latest'] - self.dust['start']
+        
+    def stardust_per_hour(self):
+        return self.earned_dust()/(time.time() - self.start_time)*3600
 
     def hatched_eggs(self, update):
         if (update):


Test patch: