~silnrsi/smith/+git/defcon-master:revert-351-pyup-scheduled-update-2021-04-05

Last commit made on 2021-04-05
Get this branch:
git clone -b revert-351-pyup-scheduled-update-2021-04-05 https://git.launchpad.net/~silnrsi/smith/+git/defcon-master

Branch merges

Branch information

Name:
revert-351-pyup-scheduled-update-2021-04-05
Repository:
lp:~silnrsi/smith/+git/defcon-master

Recent commits

becc323... by Ben Kiel <email address hidden>

Revert "Scheduled weekly dependency update for week 14"

4eae46d... by Ben Kiel <email address hidden>

Merge pull request #351 from robotools/pyup-scheduled-update-2021-04-05

Scheduled weekly dependency update for week 14

2624bd5... by pyup-bot <email address hidden>

Update fonttools from 4.21.1 to 4.22.0

9abb77a... by Frederik Berlaen <email address hidden>

Merge pull request #349 from robotools/notification-fix

Fix behavior in removeObserver.

5dccf65... by Tal Leming <email address hidden>

Don't let 'all' come in accidentally.

495d179... by Tal Leming <email address hidden>

Be more suspicious when removing observers from the backtrack dict. Sometimes things (cough tests cough) remove things that haven't been registered.

ab9c9f1... by Tal Leming <email address hidden>

Fix behavior in removeObserver.

The change I made to allow `None` to indicate "please remove everything that observer is watching in observable" had a logic flaw.

- In `addObserver`, `notification=None` means "send every notification to this observer for this observable".
- In `removeObserver`, `notification` means "remove every registered notification from this observable for this observer".

Those seem alike, but this example shows my mistake:

```python
er = This()
able = That()

able.addObserver(observer=er, notification=None, method="anyNotificationHappened")
able.addObserver(observer=er, notification="specific", method="specificNotificationHappened")

able.removeObserver(observer=er, notification=None)
```

The `notification=None` has two conflicting meanings:

1. Remove the notification that will call method `er.anyNotificationHappened`.
2. Remove all observations for er.
    - `er.anyNotificationHappened`
    - `er.specificNotificationHappened`

Being able to vigorously remove observations without knowing specific notifications is useful, but the previous behavior is more important. So, I'm introducing an "all" option for `notification` to provide the new functionality without changing the old.

cfe7998... by Ben Kiel <email address hidden>

Merge pull request #345 from robotools/pyup-scheduled-update-2021-03-01

Scheduled weekly dependency update for week 09

4dd4a74... by Tal Leming <email address hidden>

Merge pull request #344 from robotools/baseDict_eq

add support for __eq__ in a BaseDict

be091ae... by Tal Leming <email address hidden>

Merge pull request #348 from robotools/segments_offCurveOnly

Dont pop and extend to last segment when there are only quad off curves