Merged from main
This commit is contained in:
3
.idea/.gitignore
generated
vendored
Normal file
3
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
1
.idea/.name
generated
Normal file
1
.idea/.name
generated
Normal file
@@ -0,0 +1 @@
|
|||||||
|
neca.py
|
||||||
6
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
6
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<settings>
|
||||||
|
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||||
|
<version value="1.0" />
|
||||||
|
</settings>
|
||||||
|
</component>
|
||||||
4
.idea/misc.xml
generated
Normal file
4
.idea/misc.xml
generated
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10" project-jdk-type="Python SDK" />
|
||||||
|
</project>
|
||||||
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/twitter-project.iml" filepath="$PROJECT_DIR$/.idea/twitter-project.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
12
.idea/twitter-project.iml
generated
Normal file
12
.idea/twitter-project.iml
generated
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="PYTHON_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
<component name="PyDocumentationSettings">
|
||||||
|
<option name="format" value="PLAIN" />
|
||||||
|
<option name="myDocStringFormat" value="Plain" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -46,7 +46,7 @@ def generate_tweet(ctx, e):
|
|||||||
# emit to outside world
|
# emit to outside world
|
||||||
emit('tweet', tweet)
|
emit('tweet', tweet)
|
||||||
for w in words(tweet['text']):
|
for w in words(tweet['text']):
|
||||||
emit('balk', {
|
emit('pie', {
|
||||||
'action': 'add',
|
'action': 'add',
|
||||||
'value': (str(w), 1)
|
'value': (str(w), 1)
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -113,8 +113,10 @@
|
|||||||
<span class="material-symbols-outlined order-btn">arrow_downward</span>
|
<span class="material-symbols-outlined order-btn">arrow_downward</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="popchart column">
|
<div class="popchart column">
|
||||||
<span class="colheader chartheader">Sports Popularity Chart</span>
|
|
||||||
<div id="balk" style="height:300px; background-color: white;"></div>
|
<span class="colheader chartheader">Sports Popularity Filter</span>
|
||||||
|
<div id="pie" style="height:300px; background-color: white;"></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -129,12 +131,13 @@
|
|||||||
<script src="./lib/tweets.js"></script>
|
<script src="./lib/tweets.js"></script>
|
||||||
<script src="./js/code.js"></script>
|
<script src="./js/code.js"></script>
|
||||||
<script src="./js/events.js"></script>
|
<script src="./js/events.js"></script>
|
||||||
|
<script src="./lib/jquery.flot.pie.js"></script>
|
||||||
<script>
|
<script>
|
||||||
block("#latest").tweets({
|
block("#latest").tweets({
|
||||||
memory: 20
|
memory: 20
|
||||||
});
|
});
|
||||||
block('#balk').barchart();
|
block('#pie').piechart();
|
||||||
events.connect('balk', '#balk');
|
events.connect('pie', '#pie');
|
||||||
events.connect("tweet", "#latest");
|
events.connect("tweet", "#latest");
|
||||||
|
|
||||||
// // create a rolling chart block
|
// // create a rolling chart block
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ function tweetCell(tweet) {
|
|||||||
<div class="tweet-name">
|
<div class="tweet-name">
|
||||||
<a class="tweet-nickname" href = "https://www.twitter.com/${tweet.user.screen_name}" target = "_blank">${tweet.user.name}</a>
|
<a class="tweet-nickname" href = "https://www.twitter.com/${tweet.user.screen_name}" target = "_blank">${tweet.user.name}</a>
|
||||||
<a class="tweet-username" href = "https://www.twitter.com/${tweet.user.screen_name}" target = "_blank">@${tweet.user.screen_name}</a>
|
<a class="tweet-username" href = "https://www.twitter.com/${tweet.user.screen_name}" target = "_blank">@${tweet.user.screen_name}</a>
|
||||||
|
<!-- add tweet date called created_at-->
|
||||||
|
<p class="tweet-date">${tweet.created_at}</p>
|
||||||
</div>
|
</div>
|
||||||
<span class="tweet-text">${tweet.text}</span>
|
<span class="tweet-text">${tweet.text}</span>
|
||||||
<div class="tweet-interactions">
|
<div class="tweet-interactions">
|
||||||
@@ -54,7 +56,6 @@ function tweetCell(tweet) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function filterTweets(tweets, bannedWords=[], searchWords=[], sorted, order) {
|
function filterTweets(tweets, bannedWords=[], searchWords=[], sorted, order) {
|
||||||
console.log(searchWords)
|
|
||||||
if(bannedWords.length > 0){
|
if(bannedWords.length > 0){
|
||||||
tweets = filterBannedWords(bannedWords, tweets)
|
tweets = filterBannedWords(bannedWords, tweets)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,10 @@ $(".sport").on("selected", function(e, selected, sports) {
|
|||||||
|
|
||||||
window.addEventListener('DOMContentLoaded', (event) => {
|
window.addEventListener('DOMContentLoaded', (event) => {
|
||||||
window.sessionStorage.setItem('tweets', JSON.stringify([]));
|
window.sessionStorage.setItem('tweets', JSON.stringify([]));
|
||||||
|
// run code every 5 seconds
|
||||||
|
setInterval(function() {
|
||||||
|
$(window).trigger("filter");
|
||||||
|
}, 1000);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(".sport").on("click", function() {
|
$(".sport").on("click", function() {
|
||||||
@@ -66,20 +70,26 @@ $(".logo").on("click", function() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
$(window).on("filter", function() {
|
$(window).on("filter", function() {
|
||||||
|
console.log("called")
|
||||||
var parent = document.querySelector("#filtered")
|
var parent = document.querySelector("#filtered")
|
||||||
parent.replaceChildren();
|
parent.replaceChildren();
|
||||||
|
|
||||||
console.debug(filters);
|
console.log(filters);
|
||||||
|
|
||||||
tweets = window.sessionStorage.getItem('tweets');
|
tweets = window.sessionStorage.getItem('tweets');
|
||||||
tweets = JSON.parse(tweets);
|
tweets = JSON.parse(tweets);
|
||||||
|
console.log(tweets.length)
|
||||||
tweets = filterTweets(tweets, filters.blockedWords, filters.searchedWords.concat(filters.sports), filters.sorted, filters.order);
|
tweets = filterTweets(tweets, filters.blockedWords, filters.searchedWords.concat(filters.sports), filters.sorted, filters.order);
|
||||||
tweets = sortTweets(tweets, [filters.sorted, filters.order]);
|
tweets = sortTweets(tweets, [filters.sorted, filters.order]);
|
||||||
for (i = 0; i < Math.min(tweets.length, 20); i++){
|
var displayTweets = tweets.reverse().slice(0, 20).reverse();
|
||||||
parent.append(tweetCell(tweets[i]));
|
for (i = 0; i < 19; i++){
|
||||||
|
console.log("FDS")
|
||||||
|
parent.prepend(tweetCell(displayTweets[i]));
|
||||||
|
console.log("FDS 2")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
$(".order-btn").on("click", function() {
|
$(".order-btn").on("click", function() {
|
||||||
if($(this).html() == "arrow_downward") { // Descending to ascending
|
if($(this).html() == "arrow_downward") { // Descending to ascending
|
||||||
$(this).html("arrow_upward")
|
$(this).html("arrow_upward")
|
||||||
|
|||||||
@@ -74,10 +74,10 @@ block.fn.tweets = function(config) {
|
|||||||
// store list for later
|
// store list for later
|
||||||
// var $list = $("div.tweetcontainer");
|
// var $list = $("div.tweetcontainer");
|
||||||
var $list = document.querySelector("#latest")
|
var $list = document.querySelector("#latest")
|
||||||
|
window.sessionStorage.setItem('tweets', JSON.stringify([]));
|
||||||
|
|
||||||
// register default handler for handling tweet data
|
// register default handler for handling tweet data
|
||||||
this.actions(function(e, tweet){
|
this.actions(function(e, tweet){
|
||||||
$(window).trigger("filter");
|
|
||||||
tweets = window.sessionStorage.getItem('tweets');
|
tweets = window.sessionStorage.getItem('tweets');
|
||||||
tweets = JSON.parse(tweets);
|
tweets = JSON.parse(tweets);
|
||||||
tweets.push(tweet);
|
tweets.push(tweet);
|
||||||
|
|||||||
Reference in New Issue
Block a user