« first day (1226 days earlier)      last day (2587 days later) » 

@ArtOfCode How hard would it be (theoretically) to add chat report message ID as a key to whever posts are stored in the MS DB?
 
In case you care, @ArtOfCode
 
CI on 49bd688 succeeded.
 
@quartata non-trivial but not impossible
 
Although wait there is one message per room...
 
11:01 PM
@QPaysTaxes what's the << operator?
 
@QPaysTaxes Should be, except maybe if there's an overflow
@ArtOfCode bit shift
Right, but I don't know if they'd give the same result
 
[ SmokeDetector | MS ] Pattern-matching website in answer: Bayesian network for classification using PyMc or PyMc3 by arsenyinfo on datascience.SE
fp- by NobodyNada
 
Never mind; it's the same answer, just reported a whole bunch of times (every time Community bumps it)
 
@ArtOfCode Would it be harder to map multiple message IDs (if the report was posted in multiple rooms) to the same post?
I think that would require a separate table perhaps
I don't know the layout
 
either a new table or three new columns
still possible, but what do we get out of it
 
11:10 PM
Post placeholder -> edit placeholder to add report -> send to MS -> when a reply command is done simply take the chat ID and use it to retrieve whatever from MS
I'm trying to minimize what Smokey stores locally
 
why do we need to?
 
Well we need some form of new ID since by-post causes problems with edits. And I'd like to keep MS sending async rather than waiting for the MS post ID
 
CI on ac93a3d succeeded.
 
@ArtOfCode i just noticed I wasn't being PEP484 compliant with the post object lol
!!/pull
 
Restart: API quota is 19065.
 
11:13 PM
@quartata is it that much of a problem?
the only time it's really a problem is when a post gets reported twice in a short (10m or less) timeframe, which is... rare.
 
it happens whenever a user who vandalized their post is blacklisted, then the vandalism is rolled back
 
@ArtOfCode I think it is, yeah. Feedback on one can end up on the other.
^^
 
[ SmokeDetector | MS ] Username similar to website in answer: How to manual call agent to agent using Vicidial Agent API by VICIdial on stackoverflow.com
CI on b437448 succeeded.
 
45 secs ago, by ArtOfCode
the only time it's really a problem is when a post gets reported twice in a short (10m or less) timeframe, which is... rare.
 
naa- by NobodyNada
 
11:14 PM
41 secs ago, by NobodyNada
it happens whenever a user who vandalized their post is blacklisted, then the vandalism is rolled back
 
happens occasionally on vandalism, yes, but the keyword is occasionally
 
Which has happened twice in the past week
 
@SmokeDetector that doesn't need immediate pulling by the way - it's only necessary with the next pull since it only messes with a single comment and nothing functional.
 
It's still a weakness either way. Post URLs are not unique to a revision
And since you said "maybe we should totally rewrite smokey"... we have an opportunity to change that
 
i think we also said "You're free to try and undertake the task"
i highly doubt we're going to do a Smokey rewrite until we get everything we need as features, and then be 'done' for the most part :P
that said a Smokey rewrite would do wonders for my head lol
OH that reminds me i wonder how many instances of str() we have...
 
11:16 PM
@ThomasWard shrug on the other hand, Smokey development is never done. We might as well start a rewrite
 
I have started a rewrite.
Really just breaking ground and making stubs.
 
@quartata cool - want a repo on the org?
 
give standard Smokey people access too lol
 
@ArtOfCode Not yet.
@ThomasWard I'll implement the bare minimum of what I was thinking and put it up
 
@QPaysTaxes i'm excluding tests, but i find 11 instances with GitHub search (I'm also looking for case specific)
i've done a buttload of work on the Post object so if we can keep that that'd be great heh
meh was just curious
if we can make everything Unicode i'll be happy xD
 
11:19 PM
@quartata I assume you're using Py3?
 
@ArtOfCode Yes.
 
good
 
yay py3 lol
@quartata my Post object should already be Py3 compliant, I'll run it through Py3 inspections.
 
@SmokeDetector why
 
11:21 PM
Title - Position 53-64: supplements
Body - Position 565-576: supplements, Position 1254-1265: supplements
 
How on earth did I tpu- that?
@SmokeDetector f
wait, what?
 
no idea @NobodyNada but you did
 
@SmokeDetector autoflagged?
 
11:22 PM
@quartata That post was automatically flagged, using flags from: MAR.
 
I must have done with the edge of my finger
 
@M.A.R. What is your threshold
 
Paging @M.A.R., you have an invalid autoflag that needs retracting
@quartata 175
 
Yikes.
 
@QPaysTaxes because Smokey autoflagged it successfully
@quartata nowt wrong with that
I wouldn't use it myself, but nowt wrong with it
 
11:23 PM
@ArtOfCode No I'm not blaming them. But goes to show how two words can really skyrocket the reason weight...
 
@QPaysTaxes nah, we never auto-nuke posts
aye
nah, that's just about the flag itself
Speaking of, I should make that fp on autoflagged message actually ping the relevant people
 
oopsies
 
@ThomasWard ???
 
i broke it
@quartata for the record, if you are doing a Py3 refactor, and intend to use my Post object, let me know, I'll give you a py3 version. Maybe.
Because it depends on a few other things but eh.
 
though actually, half the flaggers are never in here so... meh
 
11:26 PM
@QPaysTaxes lies, PURE UNADULTERATED CHAOTIC CHAOS is delicious.
 
Anyways I probably will need it. My intent is to make it so that every rule is whole_post
 
@quartata mmkay, I'll have to yank some parsing out of the parsing system currently and then move things to Py3 for that
but that should then work. GlobalVars, though, i can't 'erase' so mugh brains chaos souls_of_the_damned
 
Okay, while we're at it, what other terrible design decisions are there in Smokey that we should fix?
 
Which GlobalVars do you need?
 
@ArtOfCode check_if_spam -> test_post -> why,reasons should be simplified lol
@quartata um...
 
11:28 PM
Some of those may be stored in my shiny secret store
 
@quartata well obviously #1 is the CHQ chat socket.
I have a feeling that part of Smokey will remain the same
the rest is GlobalVars.parser.unescape
 
yeah, we'll still use ChatExchange
 
and that's it.
@ArtOfCode i meant init for that, etc. too
which would just be copypaste
 
Worth making config JSON instead of weird-format?
 
OH wait i can do some things
@ArtOfCode ehh, config is only a handful of lines, we could probably store as flat-JSON but I'd want a setup wiz. script for that
@quartata I can move the unescape stuff into Post direct, so no need for secret store things
it's just an HTML parser
 
11:30 PM
import smokey_chat; smokey_chat.send_and_forget(<msg>)
 
It'd be pretty nice if we had dynamic queue sizing
 
J F
@quartata Semicolon‽
 
@quartata cant if we need specific rooms.
 
@ThomasWard That's a different method.
 
also consider three separate chat systems
so three separate chat sockets
 
11:32 PM
I have written a few things
 
and some are CHQ-only reports
@quartata link :P
 
correction most
 
@ArtOfCode this will either blow up Smokey or not.
 
send_and_forget is more like logging. It only sends here by default.
 
@ThomasWard it'd be a nice feature, though - adjust queue sizes for the day based on yesterday's reports or something
 
11:33 PM
It could probably use a better name.
 
@ArtOfCode I meant this commit i'm making
I'm basically making Post have its own HTML Parser for the parsing :P
so we only need to depend on the CHQ chat socket in Post, and nothing else (because it needs it for a "Failed to Parse" case and reporting in here)
 
It'd just be creating the CSV's I made the other day in memory and applying the data to queues
@ThomasWard BS4?
 
BS4 is used by CE so we already have it. I'd prefer that.
 
@ArtOfCode acronym.expand("BS4")
 
that was my thinking
@ThomasWard I'm sure this call was language.expand_acronym last time you used it :P beautifulsoup4
 
11:36 PM
ehhhh
 
CI on 8722b06 failed.
 
foo what did I do
 
it blew up
 
@ArtOfCode well...
class acronym(language):
    def expand(self, stringdata):
        return self.expand_acronym(stringdata)
class extension ;)
 
yeah yeah
 
11:39 PM
well that CI is because I typoed.
whoops
 
of course
 
@ArtOfCode does BS4 have individual .unescape functions?
 
@ThomasWard for what?
 
@ArtOfCode HTML unescaping, I'd guess
 
CI on f559c02 succeeded.
 
11:40 PM
@NobodyNada yeah, but individual whats?
 
(unless you're asking why)
 
@ArtOfCode Entities?
I guess?
Does "SmokeDetector started at rev" get broadcast to all rooms?
 
Just here
 
@ArtOfCode we are unescaping titles apparently
and bodies
during init of the post object from the response
 
@Undo \o
@quartata no
 
11:46 PM
Define unescape
 
self._title = self._parser.unescape(response["title"])
self._body = self._parser.unescape(response["body"])
 
o/
 
@quartata ask HTMLParser().unescape(somedata) what it does?
 
If you mean unescaping backslashes there's a thing for that
 
IDK what exactly it does
 
11:46 PM
@ThomasWard Ah, that's entities
 
where somedata is where it's pulling entities from the API response
or the JSON
i'd love to ditch HTMLParser for BS4, but we need to make sure that we still get the unescaping of data when we get the response from the SE API
it's also used elsewhere but meh
in spamhandling with logging, and in parsing.py
so meh
 
@ThomasWard if you're looking at spamhandling:125, just get rid of that log if you like
 
@ArtOfCode also 198 then
:P
 
[ SmokeDetector | MS ] Blacklisted user: How to find the area of a region? by anon420 on math.SE
 
@QPaysTaxes Eh?
 
11:53 PM
@ArtOfCode at the core though I still need to create an unescape function
possibly for BeautifulSoup as an extension
or just create an unescape class somewhere heh
 
@QPaysTaxes I also believe Shog shot that post down
Mods' opinions are valuable in elections
 
Seems familiar, but I don't recall context.
 
@QPaysTaxes Wait, what? I don't see that in the mod agreement o.O
 
Anyway...just check that nothing was in flames. I'm back to my vacation. :)
 
@Andy Context: posted by DVK after that SciFi election.
 
11:57 PM
It just says I can't "store or copy this information". Doesn't say I can't lie about it!
honorable lies only, though.
 
manually
 
@QPaysTaxes Yeah, but I think this is lawyery talk, not programmer talk
 
yeah, somehow I think SE recognises that they don't need to be that pedantic ;)
 
@ArtOfCode ah.
 
No more explanation required :)
 
11:59 PM
don't tempt me
i'll go into legalese spam time
 

« first day (1226 days earlier)      last day (2587 days later) »